[英]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.