安装django-filter
pip install django-filter
在视图中定义一个FilterSet类,指定要过滤的模型,以及要过滤的字段
from django_filters import rest_framework as filters
class MyFilterSet(filters.FilterSet):
    name = filters.CharFilter(lookup_expr='icontains')
    age = filters.RangeFilter()
    class Meta:
        model = MyModel
        fields = ['name', 'age']
将FilterSet类传递给Django视图
from rest_framework import generics
class MyListView(generics.ListAPIView):
    queryset = MyModel.objects.all()
    serializer_class = MySerializer
    filter_backends = [filters.DjangoFilterBackend]
    filterset_class = MyFilterSet
在URLconf中定义相应的url
from django.urls import path
from .views import MyListView
urlpatterns = [
    path('my-list/', MyListView.as_view()),
]
现在,当向 my-list/ 发出请求时,只有与 name 字段匹配的记录和年龄字段范围匹配的记录会被返回。
                    上一篇:AdvancedIPScanner找不到树莓派的IP地址
                
下一篇:AdvancedMarkerViewextends.ThrowanerrorTypeError:Illegalconstructor