Python - Django

Rest Framework - 过滤

2017-11-20  本文已影响70人  廖马儿

原始的过滤

from rest_framework import viewsets

class GoodsListViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):

    #queryset = Goods.objects.all()
    serializer_class = GoodsSerializer

    def get_queryset(self): # 允许我们对取queryset做一定的逻辑 (有了这个,上面的queryset就可以不需要)
        return Goods.objects.filter(price__gt=100)  # 大于100的价格

图片.png

DRF提供的filter,有很多种:

DjangoFilterBackend  # 使我们传统的filter
SearchFilter
OrderingFilter  

DjangoFilterBackend需要我们安装django-filter

图片.png 图片.png

目前是精确搜索。

如果想要做模糊搜索,我们去django-filter的官网去查看。
可以自定义filter来实现。


图片.png
上一篇 下一篇

猜你喜欢

热点阅读