本文介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。