需要DRF的搜索过滤器

问题描述 投票:0回答:1

我的视图集效果很好

class PlayerViewSet(ModelViewSet):
     queryset = Player.objects.all()
     serializer_class = PlayerSerializer
     filter_backends = [SearchFilter]
     search_fields = ['nickname']

网址配置:

    path('player', PlayerViewSet.as_view({'get': 'list', 'post': 'create'})),

当我尝试使用诸如'player?search = randomNickname'之类的端点搜索对象时,一切正常

但是有可能发送不带搜索参数的GET请求,并且它返回所有可能的对象

是否可以根据需要设置搜索字段?

[我有适用于类PlayerViewSet(ModelViewSet)的视图集:queryset = Player.objects.all()serializer_class = PlayerSerializer filter_backends = [SearchFilter] ...

django django-rest-framework django-filter
1个回答
2
投票

由于ModelViewSet可以执行各种操作(获取,更新,删除..,最好扩展SearchFilter并使其在没有传递搜索参数的情况下返回空结果,或者通过错误返回。

© www.soinside.com 2019 - 2024. All rights reserved.