DRF的搜索和排序

Posted mxsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DRF的搜索和排序相关的知识,希望对你有一定的参考价值。

一、搜索

class GoodsListViewSet(mixins.ListModelMixin,viewsets.GenericViewSet):
    商品列表页

    #这里必须要定义一个默认的排序,否则会报错
    queryset = Goods.objects.all().order_by(id)
    # 分页
    pagination_class = GoodsPagination
    serializer_class = GoodsSerializer
    filter_backends = (DjangoFilterBackend,filters.SearchFilter)

    # 设置filter的类为我们自定义的类
    filter_class = GoodsFilter
    #搜索,=name表示精确搜索,也可以使用各种正则表达式
    search_fields = (=name,goods_brief)

技术图片

二、排序

class GoodsListViewSet(mixins.ListModelMixin,viewsets.GenericViewSet):
    商品列表页

    #这里必须要定义一个默认的排序,否则会报错
    queryset = Goods.objects.all()
    # 分页
    pagination_class = GoodsPagination
    #序列化
    serializer_class = GoodsSerializer
    filter_backends = (DjangoFilterBackend,filters.SearchFilter,filters.OrderingFilter)

    # 设置filter的类为我们自定义的类
    #过滤
    filter_class = GoodsFilter
    #搜索,=name表示精确搜索,也可以使用各种正则表达式
    search_fields = (=name,goods_brief)
    #排序
    ordering_fields = (sold_num, add_time)

技术图片

以上是关于DRF的搜索和排序的主要内容,如果未能解决你的问题,请参考以下文章

自定义类签发校验token-实现多方式登录-自定义反爬类-admin后台表管理字段自定义-群查接口-搜索-排序-分页

drf过滤和排序及异常处理的包装

drf-过滤组件

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段

DRF的分页组件,过滤组件

DRF框架——drf-jwt手动签发与校验过滤组件筛选组件排序组件分页组件