REST framework:排序过滤器的使用

对于列表数据,REST framework提供了OrderingFilter过滤器来帮助我们快速指明数据按照指定字段进行排序

1、在setting中的REST_FRAMEWORK添加配置

'DEFAULT_FILTER_BACKENDS': (
 # 这个是指定使用django_filters中的过滤器来进行过滤
 'django_filters.rest_framework.DjangoFilterBackend',
 # 这个是指定使用DRF自带的排序过滤器来进行数据排序
 'rest_framework.filters.OrderingFilter'
),

2、在视图类中指定排序可选字段:ordering_fields:

REST framework会在请求的查询字符串参数中检查是否包含了ordering参数,如果包含了ordering参数,则按照ordering参数指明的排序字段对数据集进行排序。

  • 注意:默认升序排序,降序排序字段前添加负号,-字段
复制代码
class UserView(ModelViewSet):
    # 指定模型类查询集
    queryset = UserInfo.objects.all()
    # 指定序列化器类
    serializer_class = UserInfoSerializer

    # 直接指定过滤字段
    # filterset_fields = ('name', 'email',)

    # 指定过滤器类
    filterset_class = UserInfoFilter

    # 指定排序的字段
    ordering_fields = ('age', 'id')
复制代码

接口文档

 

 postman查看

 

posted @   未来可期_Durant  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2021-08-24 java基础|int和Integer的区别
点击右上角即可分享
微信分享提示