Django-api filtering and sorting django-filter
pip install django-filter -i Simple Index
Register django_filters in installed_apps of settings.py
custom filter
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, sort
filter_backends = [DjangoFilterBackend, OrderingFilter]
Specify the DjangoFilterBackend class in filter_backeds to trigger our custom filter BladeNumberTableModelFilter, OrderingFiter is a sorting class, we only need to specify the sorting field and it’s ok
# Specify the field to sort
ordering_fields = ("id", "c_time", "u_time")
# default sort field
ordering = ["id"]
The next article writes the practical application in views.py