【发布时间】:2016-08-25 19:08:51
【问题描述】:
在享受 haystack 2.4.1 (Django 1.8) 的第一个结果时,我不得不承认我在学习它时遇到了困难。文档有时是不完整的,有些功能的例子很少。
分面搜索就是其中之一。
我正在关注documentation,并在 url.py:
urlpatterns = patterns('haystack.views',
url(r'^$', FacetedSearchView(form_class=FacetedSearchForm, facet_fields=['author']), name='haystack_search'),
)
我收到以下错误:
/tag_analytics/faceted_search/ 处的类型错误
__init__() 得到了一个意外的关键字参数“facet_fields”
看起来 FacetSearchView 不接受 facet_fields 参数,这将我带到了 2.4.0 版,而正确的方法是
FacetedSearchView(form_class=FacetedSearchForm, searchqueryset=sqs)
虽然我确定我的版本是 2.4.1,但我尝试了这个选项,得到了一个
/tag_analytics/faceted_search/ 处的类型错误
切片索引必须是整数或 None 或具有 __index__ 方法
提前感谢任何线索!
最好的, 艾伦
【问题讨论】:
-
我有一个我怀疑是正确的“解决方案”,因为这意味着文档完全错误。无论如何,在 url.py 上,我将
from haystack.views import FacetedSearchView替换为from haystack.generic_views import FacetedSearchView,并将FacetedSearchView(form_class=FacetedSearchForm, facet_fields=['author'])替换为FacetedSearchView.as_view(form_class=FacetedSearchForm, facet_fields=['author'],template_name='search.html', context_object_name='page_object')。它有效,但我仍然想了解问题所在!
标签: python django django-haystack faceted-search