Three: Django views filter filter sort

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

 

Guess you like

Origin blog.csdn.net/xiaofeixia666888/article/details/127070567