Я пытаюсь вернуть все объекты в SearchQuerySet
всякий раз, когда пользователь впервые переходит на страницу поиска (и поэтому еще не ввел запрос). Согласно документу для no_query_found
метода SearchForm
:
def no_query_found(self):
"""
Determines the behavior when no query was found.
By default, no results are returned (``EmptySearchQuerySet``).
Should you want to show all results, override this method in your
own ``SearchForm`` subclass and do ``return self.searchqueryset.all()``.
"""
return EmptySearchQuerySet()
Итак, следуя этим инструкциям, я попробовал:
class MySearchForm(SearchForm):
def no_query_found(self):
return self.searchqueryset.all()
Однако в результате возвращается пустой список. Кажется, у меня проблема, похожая на эту . Мне интересно, если это было исправлено, и если нет, каков наилучший способ вернуть все объекты в соответствующем SearchQuerySet
, чтобы я мог показать пользователям все результаты, прежде чем они будут искать.
Если это полезно, мой взгляд в основном:
MySearchView(haystack.generic_views.SearchView):
form_class = MySearchForm
Еще одно замечание: все работает нормально, когда я ввожу строку поиска, так что это изолированная проблема (т. Е. Я запустил rebuild_index
и т. Д.).