Djangoの注釈機能を使用して、関連するモデルのカウントをクエリセットに追加しようとしています。ただし、関連するオブジェクトを完全にカウントする必要はありません。アクティブなオブジェクトのみをカウントする必要があります(つまり、「is_active = True」)。カウントを絞り込む方法がわかりません。
(簡略化された)関連モデル:
class Post(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=80)
body = models.TextField()
class Comment(models.Model):
user = models.ForeignKey(User)
post = models.ForeignKey(Post)
comment_body = models.CharField(max_length=80)
is_active = models.BooleanField(default=True)
ビューで、クエリセットに注釈を付けようとしています。
queryset=Post.objects.all().annotate(num_comments=Count('comment', distinct=True))
上記は投稿に関連するすべてのコメントをカウントしますが、私は「is_active」コメントのみをカウントしたいと思います。GoogleとDjangoのドキュメントはここでは役に立ちません。誰かがこの問題を抱えて解決しましたか?