簡體   English   中英

外鍵上的 Django 聚合計數返回相同 ID 的多條記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM