У меня есть набор таблиц, содержащих контент, созданный и за который проголосовали пользователи.
Таблица content_a
id /* the id of the content */
user_id /* the user that contributed the content */
content /* the content */
Таблица content_b
id
user_id
content
Таблица content_c
id
user_id
content
Таблица голосования
user_id /* the user that made the vote */
content_id /* the content the vote was made on */
content_type_id /* the content type the vote was made on */
vote /* the value of the vote, either +1 or -1 */
Я хочу иметь возможность выбирать набор пользователей и упорядочивать их по сумма голосов за созданный ими контент. Например,
SELECT * FROM users ORDER BY <sum of votes on all content associated with user>
Можно ли добиться этого с помощью Django ORM, или мне нужно использовать необработанный SQL-запрос? И какой наиболее эффективный способ добиться этого в чистом SQL?