本文介绍 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
)。
相关用法
- Python Django QuerySet.exists用法及代码示例
- Python Django QuerySet.explain用法及代码示例
- Python Django QuerySet.select_related用法及代码示例
- Python Django QuerySet.union用法及代码示例
- Python Django QuerySet.latest用法及代码示例
- Python Django QuerySet.values用法及代码示例
- Python Django QuerySet.intersection用法及代码示例
- Python Django QuerySet.get用法及代码示例
- Python Django QuerySet.none用法及代码示例
- Python Django QuerySet.get_or_create用法及代码示例
- Python Django QuerySet.update_or_create用法及代码示例
- Python Django QuerySet.prefetch_related用法及代码示例
- Python Django QuerySet.first用法及代码示例
- Python Django QuerySet.annotate用法及代码示例
- Python Django QuerySet.dates用法及代码示例
- Python Django QuerySet.values_list用法及代码示例
- Python Django QuerySet.select_for_update用法及代码示例
- Python Django QuerySet.order_by用法及代码示例
- Python Django QuerySet.bulk_update用法及代码示例
- Python Django QuerySet.in_bulk用法及代码示例
- Python Django QuerySet.defer用法及代码示例
- Python Django QuerySet.aggregate用法及代码示例
- Python Django QuerySet.reverse用法及代码示例
- Python Django QuerySet.count用法及代码示例
- Python Django QuerySet.create用法及代码示例
注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.db.models.query.QuerySet.exclude。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。