django 多对多字段注释和计数

django many to many field annotate and count

I have a model :
class Question(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=120)
    description = models.TextField()
    answers = models.ManyToManyField('Answer',related_name='answer_name', blank=True)

这里我想要的是列出所有没有答案的问题。

我做到了:

un_list = Question.objects.annotate(a_count="Answers").filter(a_count=0)

这是正确的做法吗?

你很接近。这可能是您想要的:

from django.db.models import Count
un_list = Question.objects.annotate(a_count=Count("answer")).filter(a_count=0)