我有一個基本的搜索視圖。它目前向數據庫查詢來自特定客戶端的任何對象。查看代碼如下:視圖中的多個過濾器參數
def search_page(request):
form = PrdSearchForm()
prdlinks = []
show_results = True
if request.GET.has_key('query'):
show_results = True
query = request.GET['query'].strip()
if query:
form = PrdSearchForm({'query' : query})
prdlinks = \
ProjectRecord.objects.filter(client__icontains=query)
if len(prdlinks) >= 1:
records = ProjectRecord.objects.filter(client__icontains=query)
t = get_template('org_list_client.html')
html = t.render(Context({'records': records}))
return HttpResponse(html)
else:
tpl = "prd_search.html"
variables = RequestContext(request, { 'form': form,
'prdlinks': prdlinks,
'show_results': show_results})
return render_to_response(tpl, variables)
我希望搜索字段通過客戶端和帳戶檢查兩個對象。我認爲,這將涉及更改此代碼:
if query:
form = PrdSearchForm({'query' : query})
prdlinks = \
ProjectRecord.objects.filter(client__icontains=query)
包括ProjectRecord.objects.filter(account__icontains=query)
。任何人都可以用語法來幫忙,還是有更多的事情與我正在努力完成的事情有關?
我不相信這種類型的鏈條在這種情況下是可行的。例如,如果我的客戶是XEROX,並且該客戶有2個帳戶與我「複印機富」和「複印機欄」。如果「複印機欄」是我的搜索詞,則過濾器將搜索名爲「複印機欄」的客戶端,併爲輔助帳戶過濾器返回0個對象的查詢集。 雖然會繼續搜索文檔。格拉西亞斯。 – kjarsenal 2009-12-25 18:43:51