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)
Другие вопросы по тегам