Django-api 过滤和排序 django-filter
pip install django-filter -i?Simple Index
在settings.py的installed_apps中注册django_filters
自定义过滤器
import django_filters
from my_mysql_web_app.models import BladeNumberTableModel
class BladeNumberTableModelFilter(django_filters.FilterSet):
task_id = django_filters.CharFilter(field_name='task_id', lookup_expr='exact')
class Meta:
model = BladeNumberTableModel
fields = ['task_id']
# 过滤,排序
?filter_backends = [DjangoFilterBackend, OrderingFilter]
指定filter_backeds 中的DjangoFilterBackend类,来触发我们自定义的过滤器BladeNumberTableModelFilter,OrderingFiter是排序的类,我们只需要指定排序的字段就ok
# 指定排序的字段
? ? ordering_fields = ("id", "c_time", "u_time")
? ? # 默认排序字段
? ? ordering = ["id"]
下一篇写views.py中的实际应用
?
|