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中的实际应用