SearchQuerySet() 'или' запрос
У меня возникают трудности с возвратом результатов для запроса 'или' в SearchQuerySet() (django-haystack).
В некоторых случаях это работает, но в других это не так, поэтому мне интересно, если это проблема с тем, как я вызываю запрос "или".
В настоящее время я хочу сопоставить рестораны, которые находятся в категории, которую ищет пользователь + бесплатный поиск формы этой категории. Вот что у меня есть:
restaurants = SearchQuerySet().filter_or(category__name=self.query)\
.filter_or(content=Raw(self.query))\
.order_by('-weight')\
.models(Restaurant)
По сути, возвращаемые результаты должны быть (результаты категории) + (результаты произвольной формы). В чем может быть проблема здесь?
1 ответ
filter_or
нужны параметры, чтобы все были заключены в один вызов. Это должно работать вместо:
restaurants = SearchQuerySet().filter_or(
category__name=self.query,
content=Raw(self.query)
).order_by('-weight').models(Restaurant)