Конкретный сложный SQL-запрос и Django ORM?

У меня есть набор таблиц, содержащих контент, созданный и за который проголосовали пользователи.

Таблица 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?

7
задан mburke13 26 May 2012 в 11:04
поделиться