1

次の問題があります。

class species(models.Model):
  pass

class question(models.Model):
  species = models.ForeignKey(species)

class answer(models.Model):
  question = models.ForeignKey(question)

ここで、回答のない質問を含む種のクエリセットを取得したいと思います。

つまり、次を使用して、質問のあるすべての種を取得できます。

sp = species.objects.annotate(num_questions=Count('question')).filter(
    num_questions__gt=0)

また、次を使用して、回答のないすべての質問を取得できます。

qs = question.objects.annotate(num_answers=Count('answer')).filter(
    num_answers=0)

しかし、どうすればこの 2 つを組み合わせることができるでしょうか。

前もって感謝します!

4

1 に答える 1

1

次のように注釈をデイジー チェーン接続できます。

sp = species.objects.annotate(num_questions=Count('question')).annotate(
          num_answers=Count('answer')).filter(num_questions__gt=0, num_answers=0)
于 2013-01-05T17:28:46.337 に答える