2013-11-26 61 views
0

我試圖創建一個查詢來生成一個查詢集,我希望查詢搜索值的列表,包括當字段爲NULL時。通常人們會做這樣的事情:django queryset篩選列表中的null

SEARCH_QUERY = SEARCH_QUERY &(Q(class_ _in = 「A」, 「B」])| Q(class_ _isnull = TRUE))

然而,在這種情況下,我想在值的列表傳遞給生成列表即

SEARCH_QUERY = SEARCH_QUERY & Q(class_ 字段 _in = [X在ALIST X])

這樣我就可以將依賴於表單輸入的值傳遞給哪個方法。我試圖弄清楚是否可以將Q(class_ 字段 _isnull = True)表示爲我可以傳入的變量。我嘗試過無,「無」,「」和「NULL」,但沒有成功。這甚至有可能,如果有的話,有人知道如何?還是我以錯誤的方式處理事情?

非常感謝。

回答

0

爲什麼不把它用不同的方式:

for x in aslist: 
    query = query & Q(class_field=x) 
query = query & Q(class_field__isnull=True) 

,甚至是這樣的:

q = list() 
for x in aslist: 
    q.append(Q(class_field=x)) 
q.append(Q(class_field__isnull=True)) 
query=reduce(operator.or_,q)