Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Haystack Faceted:uuu init_uuuuuuuuuuu()得到了一个意外的关键字参数';刻面#u字段';_Python_Django_Django Haystack_Faceted Search - Fatal编程技术网

Python Haystack Faceted:uuu init_uuuuuuuuuuu()得到了一个意外的关键字参数';刻面#u字段';

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

在享受haystack 2.4.1(Django 1.8)带来的第一个成果的同时,我不得不承认,我在学习上遇到了困难。文档有时是不完整的,一些特性只有很少的示例

分面搜索就是其中之一

我正在跟踪,并在url.py上:

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建议你问一个新问题,然后详细说明你的问题。