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
posted @ 2019-12-04 20:34  17vv  阅读(575)  评论(0编辑  收藏  举报