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)

但是我如何将这两件事结合在一起呢?

提前致谢!

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 回答