[英]Django aggregate count on ForeignKey returning multiple records for same ID
model 結構是 Question 有一個 Video, Question 有很多 Answers。
問題查詢是:
questions = Question.objects\
.values('id', 'answer', 'section__title', 'title', 'created_at','user__username')\
.filter(video=v).annotate(answer_count=Count('answer'))
我正在使用 Count 聚合 function 添加一個額外的字段來說明一個問題有多少個答案。
它適用於零和一個答案。 但是如果一個問題有三個答案,我會得到三個不同的行,它們的 ID 相同, answer_count=1 和“答案”字段的 ID 不同。
我究竟做錯了什么?
我不確定您的 model 定義是什么。 我假設你有這樣的事情:
class Answer(models.Models):
question = models.ForeignKey(Question, related_name='answer')
當您查詢您描述的方式時,您將檢索每個答案一行。 如果您從values
調用中省略'answer',
,您應該得到您想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.