2012-03-01 46 views
1

比方说,我要建一个文章/评论系统是这样的:如何通过多少个对象引用它来过滤对象?

class Article(models.Model): 
    title = models.TextField() 
    content = models.TextField() 

class Comment(models.Model): 
    article = ForeignKey(Article) 
    content = models.TextField() 

如何过滤Article.objects发现有十余评论文章?

回答

2

您需要为您的查询集提供annotate以及每篇文章的评论数量,然后过滤注释字段。

from django.db.models import Count 
Article.objects.annotate(num_comments=Count('comment')).filter(num_comments__gt=10) 
1
from django.db.models import Count 

Article.objects.annotate(comment_count=Count('comment')).filter(comment_count__gte=10)