【发布时间】:2010-12-22 18:07:07
【问题描述】:
我正在使用object_list 通用视图快速列出一组文章。每篇文章都附有 cmets。该查询使用Count() cmets 数量的注释,然后使用order_by() 注释数字。
'queryset': Article.objects.annotate(comment_count=Count('comments')).order_by('-comment_count'),
cmets 是django.contrib.comments 框架的一部分,并通过通用关系附加到模型。我在我的文章模型中添加了显式反向查找:
class Article(models.Models):
...
comments = generic.GenericRelation(Comment, content_type_field='content_type', object_id_field='object_pk')
问题是,这会计算“非活动”cmets;那些有is_public=False 或is_removed=True。如何排除任何不活动的 cmets?
【问题讨论】:
标签: django django-models django-queryset django-managers generic-relationship