2012-03-01 7 views
1

だが、私はこのような記事/コメントシステムを構築していましょう:オブジェクトを参照するオブジェクトの数によってオブジェクトをフィルタリングするにはどうすればよいですか?

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

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

どのように私は以上の10件のコメントを持って記事を見つけること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) 
関連する問題