Python Haystack Faceted:uuu init_uuuuuuuuuuu()得到了一个意外的关键字参数';刻面#u字段';
在享受haystack 2.4.1(Django 1.8)带来的第一个成果的同时,我不得不承认,我在学习上遇到了困难。文档有时是不完整的,一些特性只有很少的示例 分面搜索就是其中之一 我正在跟踪,并在url.py上:Python Haystack Faceted:uuu init_uuuuuuuuuuu()得到了一个意外的关键字参数';刻面#u字段';,python,django,django-haystack,faceted-search,Python,Django,Django Haystack,Faceted Search,在享受haystack 2.4.1(Django 1.8)带来的第一个成果的同时,我不得不承认,我在学习上遇到了困难。文档有时是不完整的,一些特性只有很少的示例 分面搜索就是其中之一 我正在跟踪,并在url.py上: urlpatterns = patterns('haystack.views', url(r'^$', FacetedSearchView(form_class=FacetedSearchForm, facet_fields=['author']), name='hayst
urlpatterns = patterns('haystack.views',
url(r'^$', FacetedSearchView(form_class=FacetedSearchForm, facet_fields=['author']), name='haystack_search'),
)
我得到以下错误:
在/tag\u analytics/faceted\u search/
__init\uuuu()得到一个意外的关键字参数'facet\u fields'
FacetSearchView似乎不接受facet\u fields
参数,该参数将我带到了2.4.0版,当时正确的方法是
FacetedSearchView(form_class=FacetedSearchForm, searchqueryset=sqs)
虽然我确信我的版本是2.4.1,但我尝试了这个选项,得到了一个
在/tag\u analytics/faceted\u search/
切片索引必须是整数或无,或具有_index_____________________________
提前感谢您提供的任何线索
最好的,
alan文档是错误的,令人困惑。无法将
facet\u字段
传递给FacetedSearchView
的构造函数
您所采取的方法是正确的,尽管您不应该将所有这些参数都放在url
定义中,而应该创建自己的视图-如下所示:
# tag_analytics/views.py
from haystack.generic_views import FacetedSearchView as BaseFacetedSearchView
# Now create your own that subclasses the base view
class FacetedSearchView(BaseFacetedSearchView):
form_class = FacetedSearchForm
facet_fields = ['author']
template_name = 'search.html'
context_object_name = 'page_object'
# ... Any other custom methods etc
然后在url.py
中:
from tag_analytics.views import FacetedSearchView
#...
url(r'^$', FacetedSearchView.as_view(), name='haystack_search'),
我有一个“解决方案”,我怀疑它是正确的,因为这意味着文档是完全错误的。无论如何,在url.py上,我用haystack.views导入FacetedSearchView替换了haystack.generic\u视图导入FacetedSearchView和FacetedSearchView(form\u class=FacetedSearchForm,facet\u字段=['author'])与
FacetedSearchView.as\u视图(form\u class=FacetedSearchForm,facet\u字段=['author'],模板\u name='search.html',上下文\u对象\u name='page\u对象')
。这是可行的,但我还是想知道问题出在哪里!谢谢你的解释!刚刚纠正了一个小的拼写错误,现在它工作得很好@AlanTygel我遇到一个错误:名称“FacetedSearchForm”未与此答案一起定义。如果使用URL.py变量没有错误,也没有结果,不知道why@VicNicethemer您必须导入它:从haystack.forms导入FacetedSearchForm
。这是在OPs问题中假设的。@solarissmoke导入-没有结果,没有方面。重建索引后,结果通常以简单格式显示view@VicNicethemer建议你问一个新问题,然后详细说明你的问题。