我遇到了Q對象查找的問題,而當用戶搜索多個術語時,除非所有術語都在同一個對象中,否則搜索不會返回任何內容。將Django Q對象查找合併爲一個過濾器
如果您轉到https://www.soledadmemorial.com/plaques並搜索David S Hackley
,則搜索不會返回任何內容,但如果僅搜索David S
,您將得到一個結果。
我試圖結合像(Q(first_name__icontains=query), Q(last_name__icontains=query))
這樣的過濾器,但只是得到一個錯誤。以下是我目前的代碼。這不需要將多個對象的搜索結合起來。
...
if query:
queryset_list = queryset_list.filter(
Q(first_name__icontains=query) |
Q(last_name__icontains=query) |
Q(branch__icontains=query) |
Q(rank__icontains=query) |
Q(group__group_name__icontains=query) |
Q(veteran__name__icontains=query)
).distinct()
...
我不明白你的意思是如何從多個對象 –
什麼是Django的實際產生的查詢結合搜索和你能指望什麼呢? – spectras