[
课程介绍](_index_)
[
引入DjangoRESTframework](c01-introducetodrf_index)-[Web应用模式](c01-introducetodrf_separatedfrontendandbackend)
[
认识RESTful](c01-introducetodrf_introducetorest)
[
RESTful设计方法](c01-introducetodrf_howtodesignrest)
[
使用Django开发REST接口](c01-introducetodrf_developrestapiwithdjango)
[
明确REST接口开发的核心任务](c01-introducetodrf_coretasktodeveloprestapi)
[
DjangoRESTframework简介](c01-introducetodrf_aboutdrf)
[
DRF工程搭建](c02-drfproject_index)-[环境安装与配置](c02-drfproject_installandconfig)
[
见识DRF的魅力](c02-drfproject_thefirstdrfprogram)
[
Serializer序列化器](c03-serializer_index)-[定义Serializer](c03-serializer_declaring)
[
序列化使用](c03-serializer_serializing)
[
反序列化使用](c03-serializer_deserializing)
[
模型类序列化器ModelSerializer](c03-serializer_modelserializer)
[
视图](c04-view_index)-[Request与Response](c04-view_requestandresponse)
[
视图概览](c04-view_view)
[
视图说明](c04-view_viewintroduction)
[
视图集ViewSet](c04-view_viewset)
[
路由Router](c04-view_routers)
[
其他功能](c05-components_index)-[认证](c05-components_authentication)
[
权限](c05-components_permissions)
[
限流](c05-components_throttling)
[
过滤](c05-components_filtering)
[
排序](c05-components_ordering)
[
分页](c05-components_pagination)
[
版本](c05-components_versioning)
[
异常处理](c05-components_exceptions)
[
自动生成接口文档](c05-components_documents)
[Published with GitBook](https://www.gitbook.com)
课程介绍
过滤Filtering
对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。
pip install django-filter
在配置文件中增加过滤后端的设置:
INSTALLED_APPS = [...'django_filters', # 需要注册应用,]REST_FRAMEWORK = {'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',)}
在视图中添加filter_fields属性,指定可以过滤的字段
class BookListView(ListAPIView):queryset = BookInfo.objects.all()serializer_class = BookInfoSerializerfilter_fields = ('btitle', 'bread')# 127.0.0.1:8000/books/?btitle=西游记
