我想在django中查询对面的地方?

时间:2011-05-11 17:11:18

标签: python django models

例如,我有模型

class Question(models.Model):
    question = models.CharField(max_length="200")

class Answer(models.Model):
    question= models.ForeignKey(Question)

所以,我想要在Answers中没有的所有问题

E.g在答案中我有

Question 1
Question 2

在问题中我有

Question 1
Question 2
Question 3
Question 4

我希望查询问题3和问题4的结果

感谢

2 个答案:

答案 0 :(得分:6)

认为你想要的是:

unanswered_questions = Question.objects.filter(answer__isnull=True)

答案 1 :(得分:0)

最简单的方法是先在Answer中获取所有问题ID的明确列表,然后获取所有没有其中一个ID的问题

ids = Answer.objects.all().distinct().values_list('question', Flat=True)
unanswered = Question.objects.all().exclude(pk__in=ids)