搜索组件、过滤排序组件
'''
排序:
from rest_framework.filters import OrderingFilter
按id正序倒叙排序,按price正序倒叙排列
使用:http://127.0.0.1:8000/course/free/?ordering=-id
配置类:
filter_backends=[OrderingFilter]
配置字段:
ordering_fields=['id','price']
内置过滤:
from rest_framework.filters import SearchFilter
使用:http://127.0.0.1:8000/course/free/?search=39
按照price过滤(表自有的字段直接过滤)
配置类:
filter_backends=[SearchFilter]
配置字段:
search_fields=['price']
第三方库:django-filter 比原生自带的好用
from django_filters.rest_framework import DjangoFilterBackend
支持自有字段的过滤还支持外键字段的过滤
http://127.0.0.1:8000/course/free/?course_category=1 # 过滤分类为1 (python的所有课程)
配置类:
filter_backends=[DjangoFilterBackend]
配置字段:
filter_fields=['course_category']
'''
标签:0.1,price,filter,course,过滤,排序,DRF
From: https://www.cnblogs.com/piggthird/p/17815180.html