0
我正在Django上創建一個搜索頁面,並且想要生成一個動態查詢集。如何在Python中的另一個列表中填充列表循環?
我有串過濾器的列表initiaized這樣的:
filter_names = ('filter1', 'filter2')
的話,我想在我的filter_names列表循環,並提出附帶請求中的每個濾波器的Q對象的列表(在filter_names中使用相同的名稱)。我創建Q的名單如下:
filter_clauses = [Q(filter=request.GET.get(filter))
for filter in filter_names
if request.GET.get(filter)]
問題是結果的列表(filter_clauses)是一樣的東西:
Q(filter=value1),
Q(filter=value2)
但其實我是想像一個列表:
Q(filter1=value1),
Q(filter2=value2)
實際上,循環沒有捕獲變量過濾器的值,而是將其解釋爲「過濾器」。
那麼,我在循環中做了什麼錯誤?
欲瞭解更多信息,我把這個想法從這個answer,而且我得到這個錯誤:
Cannot resolve keyword 'filter' into field.
,這意味着,該框架在名爲「搜索模式搜索字段過濾器「,並顯然沒有找到它。