drf框架中的排序组件
07-01 排序组件
对于列表数据,REST framework提供了Ordering过滤器来帮助我们快速指明数据按照指定字段进行排序
使用方法:
在视图中设置filter_backends,使用rest_framework.filter.OrderingFilter过滤器,REST framework会在请求的查询字符串参数中检查是否包含了ordering参数,如果包含了ordering参数,则按照ordering参数指明的排序字段对数据集进行排序。
前端可传的ordering参数需要在ordering_fiedls中指明
示例:
# views.py
from rest_framework.generics import ListAPIView
from rest_framework.filters import OrderingFilter
from app import models
from app import serializer
class MyListAPIView(ListAPIView):
queryset = models.Myuser.objects.all()
serializer_class = serializer.MyModelSerializer
# 配置过滤器类
filter_backends = [OrderingFilter]
# 配置参与排序字段
ordering_fields = ['id', 'price']
# http://127.0.0.1:8000/api/?ordering=-price

浙公网安备 33010602011771号