我很难将结果返回给'或'在SearchQuerySet()(django-haystack)中查询。
在某些情况下它有效,但在其他情况下它不起作用,所以我想知道我是如何调用“或”的问题的。查询。
目前,我希望匹配用户搜索的类别中的餐馆+该类别的自由格式搜索。这就是我所拥有的:
restaurants = SearchQuerySet().filter_or(category__name=self.query)\
.filter_or(content=Raw(self.query))\
.order_by('-weight')\
.models(Restaurant)
基本上,返回的结果应该是(类别结果)+(自由格式结果)。这可能是什么问题?
答案 0 :(得分:0)
filter_or
需要将所有参数都包含在同一个调用中。这应该工作:
restaurants = SearchQuerySet().filter_or(
category__name=self.query,
content=Raw(self.query)
).order_by('-weight').models(Restaurant)