filterset_fields с DjangoFilterBackend не работает - PullRequest
0 голосов
/ 29 августа 2018

Мой класс:

class InvoicePeriodViewSet(viewsets.ModelViewSet):
    permission_classes = (
        permissions.AllowAny,
    )
    queryset = models.InvoicePeriod.objects.all()
    serializer_class = serializers.InvoicePeriodSerializer
    filter_backends = (django_filters.rest_framework.DjangoFilterBackend,)
    filterset_fields = ('days_interval', )

это вообще не работает. Я искал другие вопросы о переполнении стека, и они мне не помогли ( здесь , здесь , здесь и здесь ).

В мои приложения добавлен django-фильтр (django-filter == 1.0.4), моя версия django (Django == 1.11.1) и остальные (djangorestframework == 3.8.2)

Я действительно не хочу добавлять фильтр_класса . У меня есть другое представление с filterclass, и он работает, но я не хочу делать так много классов фильтров. Было бы идеально, если бы работала функция filterset_fields . Если нет, мне нужно будет создать фильтр_класса с помощью функции, чтобы мне не пришлось создавать более 30 из них.

1 Ответ

0 голосов
/ 29 августа 2018

Ну, наконец-то я нашел проблему благодаря validname answer. Он предложил использовать « filter_fields ». Я зашел в документацию по django-filter и обнаружил, что в новой версии (1.1.0) filterset_fields равно filter_fields переименован, так как я использовал django-фильтр 1.0.4, filterset_fields не существует.

...