过滤Filtering
对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-filter扩展来增强支持
pip install django-filter
在配置文件中添加过滤后端的设置
INSTALLED_APPS=[
'django_filter',#需要注册应用
]
#全局配置,也可以局部配置
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'],
}
在视图类中添加 filterset_fields类属性,指定可以过滤的字段
from rest_framework.generics import ListAPIView
from app01.models import Book
from django_filters.rest_framework import DjangoFilterBackend
class BookView(ListAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
filter_backends = [DjangoFilterBackend] # 在视图中加上该类,就可以
filterset_fields = ('name','price') #配置按照哪个字段来过滤
#http://127.0.0.1:8000/books/?price=40
#http://127.0.0.1:8000/books/?name=活着
标签:rest,django,filter,过滤,DjangoFilterBackend,使用,组件,import
From: https://www.cnblogs.com/zaosong/p/16971302.html