Python ForeignKey上返回相同ID的多条记录的Django聚合计数
模型结构是:问题有一个视频,问题有多个答案 问题是:Python ForeignKey上返回相同ID的多条记录的Django聚合计数,python,django,Python,Django,模型结构是:问题有一个视频,问题有多个答案 问题是: questions = Question.objects\ .values('id', 'answer', 'section__title', 'title', 'created_at','user__username')\ .filter(video=v).annotate(answer_count=Count('answer')) 我使用Count aggregate函数添加一个额外的字段来表示一个问题有多少个答案 它适用于零和
questions = Question.objects\
.values('id', 'answer', 'section__title', 'title', 'created_at','user__username')\
.filter(video=v).annotate(answer_count=Count('answer'))
我使用Count aggregate函数添加一个额外的字段来表示一个问题有多少个答案
它适用于零和一答案。但是如果一个问题有三个答案,我会得到三个不同的行,它们具有相同的ID,答案计数=1,并且“答案”字段具有不同的ID
我做错了什么?我不确定您的模型定义是什么。我想你有这样的东西:
class Answer(models.Models):
question = models.ForeignKey(Question, related_name='answer')
当您按照所描述的方式查询时,每个答案将检索一行。如果您在值调用中省略了'answer',
,您应该会得到您想要的