簡體   English   中英

如何在 django 查詢集中添加多個過濾器

[英]How to add multiple filters in django query set

我有一個查詢集

queryset = Record.objects.filter(type__icontains='28').exclude..............

我還想在我的過濾器中添加一些其他類型,例如type__icontains='28' , type__icontains='14', type__icontains='20'等。

我怎樣才能做到這一點? 請幫忙

您有兩個選項需要決定使用哪一個,因為您的問題不是很完整。

IN 語法

這基本上是說明select values where <attribute> IN <set>

result = SomeModel.objects.filter(id__in=[28,14,20])

# same as
SELECT * FROM SomeModel WHERE SomeModel.id IN (28,14,20)

Q 對象

您將需要使用Q對象。 它們允許復雜的數據查詢。 好消息是,一旦您閱讀了django docs (它真的很完整),您應該能夠輕松地將它們實現到您的代碼中。

在您的問題中,您沒有說明您是嘗試執行AND還是OR 作為起點,您可以執行以下操作:

# AND
Q(type_icontains=28) & Q(type_icontains=14)

# OR
Q(type_icontains=28) | Q(type_icontains=14)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM