當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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