0
我建立一個搜索功能,以多個T/F過濾選項,像這樣:Django的Q對象 - 返回真假兩比賽
Search: ________________
Filters:
___ Open to Public
___ Parking Available
_x_ Free Entrance
在這種情況下,用戶專找那些免費活動進入。我希望我的Q對象返回關鍵字匹配的對象,其中free_entrance
設置爲True。
我的想法是在我的搜索功能來定義變量:
search_public = None
search_parking = None
search_free_entrance = True
,並設置Q對象像這樣:
q_objects.append(
Q(
name__icontains=search_term,
public__icontains=search_public,
parking__icontains=search_parking,
free_entrance=search_free_entrance
)
)
不過,我想所有對象(TRUE或FALSE)返回未變量變量(而不是僅設置爲None的對象)。是否有我可以插入的關鍵字,或者是否存在我缺少的Q對象過濾器類型?
UPDATE: 除了公佈答案,* ARGS也可用於複雜(OR)問對象:
來源: http://www.nomadjourney.com/2009/04/dynamic-django-queries-with-kwargs/
args = (Q(name__icontains = 'search_term') | Q(company__icontains = 'search_term'))
好主意!謝謝! –