DRF的搜索和排序

1、搜索
正則表達式

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')

2、排序spa

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')

相關文章
相關標籤/搜索