drf框架中的搜索组件
07-02 搜索组件
对于列表数据,REST framework提供了SearchFilter过滤器来帮助我们快速指明数据按照指定字段进行搜索
使用方法:
在视图中设置filter_backends,使用rest_framework.filter.SearchFilter过滤器,REST framework会在请求的查询字符串参数中检查是否包含了search参数,如果包含了search参数,则按照search参数指明的搜索字段对数据集进行搜索。
前端可传的search参数需要在search_fields中指明
示例:
# views.py
from rest_framework.generics import ListAPIView
from rest_framework.filters import OrderingFilter
from app import models
from app import serializer
class MyListAPIView(ListAPIView):
queryset = models.Myuser.objects.all()
serializer_class = serializer.MyModelSerializer
# 配置过滤器类
filter_backends = [SearchFilter]
# 配置参与排序字段
search_fields = ['name']
# http://127.0.0.1:8000/api/?search=python