2011-10-31 54 views
0

我正在研究django中的QA系统,其中包括Question,Answer和Answer_statistics的数据表。一个问题可以有多个答案,一个答案有一个Answer_statistics。 Answer_statistics包含投票数,每个答案的评论数等值。现在,我试图获取answer_statistics中由列出答案的问题过滤的列的总和。例如,获得某个问题的所有答案的总投票数。它应该是这样的:django:通过OneToOne关系获取聚合值

a_question.answer__answer_statistics_set.aggregate(Sum('comment_count')) 

觉得应该有一些简单的解决方案,但目前找不到。有人可以提供一个提示吗?谢谢!

回答

0

您遵循聚合调用内部的关系,而不是在对象查找中。例如:

a_question.aggregate(Sum('answer__answer_statistics__comment_count'))

+0

Thanks!为了使它更加清晰,说a_question是一个模型对象,a_question.answer_set是包含这个问题的所有答案的查询集,表达式应该是: 'a_question.answer_set.aggregate(Sum('answer_statistics__comment_count'))' –