0
我正在嘗試在Django Tables 2中使用Haystack/Whoosh搜索。搜索結果應呈現爲表格。這是我的當前視圖用於呈現的表:在Django中使用Haystack搜索表2視圖
def people(request):
table = PersonTable(Person.objects.filter(pk=1))
RequestConfig(request).configure(table)
return render(request, 'people.html', {'table': table})
草堆應該通過搜索結果的主鍵,以上述的觀點函數像這樣Person.objects.filter(pk=va1,pk=var2)
所以這個視圖函數可以顯示結果。
我可以寫一個工作的看法:
def report(request, template='report.html', load_all=True, form_class=ModelSearchForm, searchqueryset=None, context_class=RequestContext, extra_context=None, results_per_page=None):
table = ''
query = ''
results = EmptySearchQuerySet()
if request.GET.get('q'):
form = form_class(request.GET, searchqueryset=searchqueryset, load_all=load_all)
if form.is_valid():
query = form.cleaned_data['q']
results = form.search()
pklist = [ r.pk for r in results ]
table = PersonTable(Person.objects.filter(pk__in=pklist))
RequestConfig(request).configure(table)
else:
form = form_class(searchqueryset=searchqueryset, load_all=load_all)
context = {
'form': form,
'table': table,
}
return render_to_response(template, context, context_instance=context_class(request))
它的工作原理莫名其妙。但是,因爲我只是一個Django初學者,所以我覺得有改進的空間。我在這裏發佈它以獲得一些有用的建議。