在Django QuerySet中,如何在过滤器中进行否定?

时间:2009-09-02 19:16:10

标签: django

在Django中过滤QuerySets的工作方式如下:

Entry.objects.filter(year=2006)

如何使用过滤器查找没有2006年的所有条目?类似于以下sql:

SELECT * 
FROM entries
WHERE not year = 2006

1 个答案:

答案 0 :(得分:22)

我认为您正在寻找exclude()方法:

>>> Entry.objects.exclude(year=2006)

将返回2006年以外的所有Entry对象。

如果您希望进一步过滤结果,可以将其链接到filter()方法:

>>> Entry.objects.exclude(year=2006).filter(field='value')