非常简单......我正在使用Django 1.4.1,并且需要通过与其相关的注释数量的倒序来命令查询集。我正在使用Django评论框架,并尝试使用.annotate(在其他答案中推荐的comment_count = Count('comment')结构...我得到'评论'并不解决字段错误。
我也尝试过django-generic-aggregate的0.3.1版本,它会抛出数据库错误,所以就这样了。
Photo.objects.filter(galleries=gallery).annotate(comment_count=Count('comments')).order_by('-comment_count')[(page-1)*RESULTS_PER_PAGE:page*RESULTS_PER_PAGE]
有什么建议吗?
答案 0 :(得分:0)
将功能放在照片模型
下class Photo(models.Model):
.........
def orders(self):
//filter first the highest count of comments
aggregate = Photo.objects.aggregate(comment_count=Count('comments'))
return aggregate['comment_count'] + 1
然后你可以在视图中这样调用它:
comments = Photo.objects.filter(galleries=gallery).orders()