一、过滤
1、需要另外安装django的过滤模块:pip install django-filter。
2、需要在setting.py中注册。
3、配置过滤器:
①全局配置,setting.py中:
REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',) }
②局部配置,视图类中:
filter_backends:[DjangoFilterBackend,]
4、设置过滤字段,视图类中:
filter_fields = ('name','age')
5、使用:.../?name=xxx,可以使用设置了的过滤字段的一个或多个。
二、排序
1、全局配置排序器,setting.py中:
REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ('frest_framework.filters.OrderingFilter',) }
2、局部配置排序器,视图类中:
filter_backends:[OrderingFilter,]
3、设置排序字段,视图类中:
ordering_fields = ('id', 'age')
4、使用:.../?ordering=id,此为正序排列,写成<-id>,为反序,可以使用设置了的排序字段的任意一个。
三、过滤器和排序器可以一起使用,先过滤再排序。