django多次查询存在

时间:2014-07-17 06:02:27

标签: django filter many-to-many

这是我的django模型

class Quiz(models.Model):
    date_created = models.DateField(auto_now_add=True)
    quiztype = models.ForeignKey(QuizType)

    def __unicode__(self):
        return u"Quiz #1{0}".format(self.id)


class Translation(models.Model):
    left_word = models.ForeignKey(Word, related_name='trans_left_word')
    right_word = models.ForeignKey(Word, related_name='trans_right_word')
    quizes = models.ManyToManyField(Quiz)

   def __unicode__(self):
       return u"{0} => {1}".format(self.left_word.word_text, self.right_word.word_text)

我试图找到所有不属于测验对象的翻译对象。我想我可以从这两个中分割查询集,但这似乎是一个坏主意?

2 个答案:

答案 0 :(得分:0)

您可以使用isnull检查来获取该内容。

Translation.objects.filter(quizes__isnull=True)

这将为您提供所有与任何评估无关的翻译。

答案 1 :(得分:0)

我想你可以试试:

Translation.objects.exclude(quizes= Quiz.objects.all())