SearchQuerySet() 'or' query



我在SearchQuerySet()(django-haystack)中返回"or"查询的结果时遇到了困难。

在某些情况下它可以工作,但在其他情况下它不起作用,所以我想知道这是否是我如何调用"or"查询的问题。

目前,我想匹配用户搜索的类别中的餐厅 + 该类别的自由格式搜索。这是我所拥有的:

restaurants = SearchQuerySet().filter_or(category__name=self.query)
                            .filter_or(content=Raw(self.query))
                            .order_by('-weight')
                            .models(Restaurant)

本质上,返回的结果应该是(类别结果)+(自由格式结果)。这里可能有什么问题?

filter_or需要将参数全部包含在同一个调用中。这应该可以代替:

restaurants = SearchQuerySet().filter_or(
                                category__name=self.query,
                                content=Raw(self.query)
                             ).order_by('-weight').models(Restaurant)

相关内容

  • 没有找到相关文章

最新更新