Django Haystack - 没有设置拼写建议上下文变量

时间:2013-01-17 04:06:08

标签: django django-haystack

我已经使用Solr在Haystack中为拼写建议正确配置了所有内容,但是,在使用SearchView时,suggestion上下文变量未设置。我意识到这是由于https://github.com/toastdriven/django-haystack/commit/8bf366b6781b22810696b18723da5902ce01e5b7

if self.results and hasattr(self.results, 'query') and self.results.query.backend.include_spelling:
    context['suggestion'] = self.form.get_suggestion()

这里看来只有在有结果的情况下才设置变量,这显然看起来不对。如果有人能指出我正确的方向,我真的很感激。

1 个答案:

答案 0 :(得分:1)

您可以覆盖SearchView的create_response(回滚您提到的补丁):

class MySearchView(SearchView):
    def create_response(self):
        (paginator, page) = self.build_page()

        context = {
            'query': self.query,
            'form': self.form,
            'page': page,
            'paginator': paginator,
            'suggestion': None,
        }

        if self.results.query.backend.include_spelling:
            context['suggestion'] = self.form.get_suggestion()

        context.update(self.extra_context())
        return render_to_response(self.template, context, context_instance=self.context_class(self.request))