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)
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)