原始的过滤
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的价格

DRF提供的filter,有很多种:
DjangoFilterBackend # 使我们传统的filter
SearchFilter
OrderingFilter
DjangoFilterBackend需要我们安装django-filter


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

网友评论