Django(67)drf搜索过滤和排序过滤

2021-09-07 04:12

阅读:985

标签:字段   name   filters   back   通过   url   全局变量   一个   query   前言 当我们需要对后台的数据进行过滤的时候,drf有两种,搜索过滤和排序过滤。 搜索过滤:比如我们想返回sex=1的,那么我们就可以从所有数据中进行筛选 排序过滤:比如我们想对价格进行升序排列,就可以使用排序过滤   搜索过滤 在实际的使用过程中十分简单,只需要在视图类中配置一个全局变量filter_backends,然后在search_fields确定需要通过哪个字段进行筛选 from rest_framework.filters import SearchFilter class CarView(ListAPIView): serializer_class = CarSerializer queryset = Car.objects.all() # 局部配置过滤类和排序类 filter_backends = [SearchFilter] # SearchFilter过滤类依赖的过滤条件 search_fields = [‘name‘] 之后我们在访问url地址时,就可以在url后面添加?search="宝马1系",那么我们就会过滤出name="宝马1系"的数据   排序过滤 跟搜索过滤一样,只需要配置局部变量filter_backends,然后配置ordering_fields来确定通过哪个字段进行排序 from rest_framework.filters import SearchFilter, OrderingFilter class CarView(ListAPIView): serializer_class = CarSerializer queryset = Car.objects.all() # 局部配置过滤类和排序类 filter_backends = [SearchFilter, OrderingFilter] # SearchFilter过滤类依赖的过滤条件 search_fields = [‘name‘] # 局部配置排序类 ordering_fields = [‘price‘] 之后我们在访问url地址时,就可以在url后面添加?search="宝马"&ordering="price",那么我们就会过滤出所有宝马系列的车子,并且数据的排序按照车的价格从低到高排序Django(67)drf搜索过滤和排序过滤标签:字段   name   filters   back   通过   url   全局变量   一个   query   原文地址:https://www.cnblogs.com/jiakecong/p/14911435.html


评论


亲,登录后才可以留言!