相关疑难解决方法(0)

如何在Django Rest Framework上使用普通Filter和SearchFilter?

我正在使用DRF(Django Rest Framework).

我声明了一个ModelViewSet,现在我想在其上添加过滤器.

class GoodsViewSet(viewsets.ModelViewSet):
    class Filter(FilterSet):    
        class Meta:
            model = m.Goods

    filter_class = Filter
    filter_backends = (SearchFilter, Filter)
    search_fields = ['name',]
    queryset = m.Goods.objects.all()
    serializer_class = s.GoodsSerializer
Run Code Online (Sandbox Code Playgroud)

看到我声明了一个Filter子类并将其应用于:

filter_class = Filter
Run Code Online (Sandbox Code Playgroud)

在我添加行之前,它在开始时工作:

filter_backends = (SearchFilter, Filter)
search_fields = ['name',]
Run Code Online (Sandbox Code Playgroud)

这是由医生告诉.

现在,在filter_class跳过法线时应用搜索过滤器.

一句话,他们无法一起工作.

如何解决这个问题?

python django rest filter django-rest-framework

11
推荐指数
1
解决办法
3084
查看次数

标签 统计

django ×1

django-rest-framework ×1

filter ×1

python ×1

rest ×1