我的课:
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', )
它根本不起作用。我搜索了其他堆栈溢出问题,但对我没有帮助(here,here,here和here)。
我已将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个以上的函数。
答案 0 :(得分:0)
好吧,终于有了validname的回答,我终于找到了问题。他建议使用我进入django-filter documentation的“ filter_fields ”,发现在新版本(1.1.0)中, filterset_fields 是 filter_fields 重命名,所以当我使用django-filter 1.0.4时, filterset_fields 不存在。