当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django QuerySet.exclude用法及代码示例


本文介绍 django.db.models.query.QuerySet.exclude 的用法。

声明

exclude(*args, **kwargs)

返回一个新的 QuerySet,其中包含 not 与给定查找参数匹配的对象。

查找参数 (**kwargs) 应采用下面 Field lookups 中说明的格式。多个参数通过 AND 在底层 SQL 语句中连接,整个内容包含在 NOT() 中。

此示例排除 pub_date 晚于 2005-1-3 且 headline 为 “Hello” 的所有条目:

Entry.objects.exclude(pub_date__gt=datetime.date(2005, 1, 3), headline='Hello')

在 SQL 术语中,计算结果为:

SELECT ...
WHERE NOT (pub_date > '2005-1-3' AND headline = 'Hello')

此示例排除 pub_date 晚于 2005-1-3 或标题为 “Hello” 的所有条目:

Entry.objects.exclude(pub_date__gt=datetime.date(2005, 1, 3)).exclude(headline='Hello')

在 SQL 术语中,计算结果为:

SELECT ...
WHERE NOT pub_date > '2005-1-3'
AND NOT headline = 'Hello'

请注意,第二个示例更具限制性。

如果您需要执行更复杂的查询(例如,使用 OR 语句的查询),您可以使用 Q objects ( *args )。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.db.models.query.QuerySet.exclude。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。