@man_of_motley

Django-haystack как добавить фасеты с 0 совпадений при фильтрации?

При использовании фасетного поиска haystack отдает только список с фасетами у которых есть совпадения. Остальные же фасеты, по которым совпадений нет (0 совпадений) - он просто не выводит.
Как можно изменить это поведение, чтобы возвращались абсолютно все фасеты, даже с 0 совпадений в шаблон?
  • Вопрос задан
  • 191 просмотр
Решения вопроса 1
@man_of_motley Автор вопроса
Вроде разобрался: нужно переопределить get_queryset в FacetedSearchView, чтобы добавить параметр min_doc_count.
class MySearchView(FacetedSearchView):
    form_class = MySearchForm
    facet_fields = ['category', 'color', 'size']
    template_name = 'products/search_result.html'
    paginate_by = 3
    context_object_name = 'object_list'

    def get_queryset(self):
        qs = super(MySearchView, self).get_queryset()
        for field in self.facet_fields:
            qs = qs.facet(field, min_doc_count=0)
        return qs
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы