这是我在视图中的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(),它返回了正确的结果。
答案 0 :(得分:2)
我找到了原因,代码queryset=SearchQuerySet().all()[:50]
正在将SearchQuerySet对象转换为list。我将其更改为queryset=SearchQuerySet().all()
现在它按预期工作。我花了一整天的时间才弄明白。但是,如果不抛出异常或错误,我仍然不知道为什么会这样做。