我可以进入我的shell并输入
sqs = SearchQuerySet().filter(content='content')
len(sqs)
我得到了结果。我检查了它们,当我输入
时 sqs[0]
sqs[0].id
sqs[0].text
我得到了连贯的结果。但是当我在我的网站上使用搜索表单时,我没有得到任何结果。
我甚至没有定义自己的SearchView。这是默认的。在模板上,我试过了
{% for result in page.object_list %}
{% for result in object_list %}
{% for result in page_obj.object_list %}
仍然没有得到任何结果。并且查询确实运行,因为我可以将内容放入
{% if query %}
这样才能明确起作用。我该怎么办?
谢谢。
答案 0 :(得分:0)
我通过替换
解决了这个问题 url(r'^search/', include('haystack.urls')),
与
url(r'^search/?$', views.SearchResultsView.as_view(), name='search-view'),
并使我自己的SearchResultsView没有什么特别之处
class SearchResultsView(SearchView):
template_name = 'search/search.html'
form_class = MySearchForm
queryset = SearchQuerySet().all()
paginate_by = 10
context_object_name = 'object_list'
并使用
page_obj
模板中的