Показать все записи на странице запуска django-фильтра - PullRequest
0 голосов
/ 03 ноября 2018

У меня обратная проблема Пустой список результатов при запуске страницы фильтра django . Я хотел бы, чтобы при запуске мой просмотр отображал все записи, прежде чем пользователь сможет применить фильтр.

У меня нет (найдено в ответе на мой связанный вопрос):

Проблема в том, что представление фильтра по умолчанию возвращает ВСЕ результаты.

Это мой взгляд:

class EntrepriseList(LoginRequiredMixin, SingleTableMixin, FilterView):
    table_class = EntrepriseTable
    model = Entreprise
    template_name = 'stage/entreprise_list.html'
    filterset_class = EntrepriseFilter
    paginate_by = 30

И мой фильтр:

class EntrepriseFilter(django_filters.FilterSet):
   nom = django_filters.CharFilter(lookup_expr='icontains', label='nom')
   ville = django_filters.CharFilter(lookup_expr='icontains', label='ville')
   class Meta:
       model = Entreprise
       fields = ['nom', 'ville', 'secteur']

ОТВЕТ:

Оказывается, это так же просто, как установить строгую переменную в False в классе View. source

1 Ответ

0 голосов
/ 09 декабря 2018

Это известная ошибка в версии 2.0. Обходной путь должен установить strict=False.

https://github.com/carltongibson/django-filter/issues/930#issuecomment-410177356

...