带有DjangoFilterBackend的filterset_fields无法正常运行

时间:2018-08-29 08:14:02

标签: django django-filter

我的课:

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', )

它根本不起作用。我搜索了其他堆栈溢出问题,但对我没有帮助(herehereherehere)。

我已将django-filter(django-filter == 1.0.4)添加到我的应用程序,我的django版本是(Django == 1.11.1),其余版本(djangorestframework == 3.8.2)

我真的不想添加 filter_class 。我还有关于filterclass的其他观点,它正在工作,但是我不想制作那么多filterclass。 filterset_fields 功能可以正常工作。如果不是这样,我将不得不通过一个函数创建filter_class,这样我就不必创建30个以上的函数。

1 个答案:

答案 0 :(得分:0)

好吧,终于有了validname的回答,我终于找到了问题。他建议使用我进入django-filter documentation的“ filter_fields ”,发现在新版本(1.1.0)中, filterset_fields filter_fields 重命名,所以当我使用django-filter 1.0.4时, filterset_fields 不存在。