haystack SearchQuerySet()返回列表而不是SearchQuerySet对象

时间:2015-12-13 08:00:53

标签: django django-haystack

这是我在视图中的get_queryset()方法

    def get_queryset(self):
       #by here the search query is getting executed
        self.vendor_filter=self.request.GET.get('select_vendor', 'all')
        self.search_query=self.request.GET.get('q', "")
        self.sort_by=self.request.GET.get('sort_by', "relevance")
        queryset=SearchQuerySet().all()[:50]
        return queryset

此方法导致'list' object has no attribute 'all'错误。但是我在django shell中运行了这个SearchQuerySet()。all(),它返回了正确的结果。 enter image description here

这是非常烦人的问题。我不知道这是什么错误?我正在使用django-haystack搜索的嗖嗖声。

1 个答案:

答案 0 :(得分:2)

我找到了原因,代码queryset=SearchQuerySet().all()[:50]正在将SearchQuerySet对象转换为list。我将其更改为queryset=SearchQuerySet().all()现在它按预期工作。我花了一整天的时间才弄明白。但是,如果不抛出异常或错误,我仍然不知道为什么会这样做。