全局配置过滤器

# 全局配置过滤器
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS':
('django_filters.rest_framework.DjangoFilterBackend', # 过滤器
'rest_framework.filters.OrderingFilter',), # 排序
'DEFAULT_PAGINATION_CLASS': # 分页
'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 3 # 每⻚数⽬
}

# 导包

from django.shortcuts import render
from rest_framework.viewsets import ModelViewSet
from app01 import models as dmlmodel
from app03 import sers as dm3ser
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import OrderingFilter
from rest_framework.pagination import PageNumberPagination

 

# 过滤器
class UserModelView(ModelViewSet):
queryset = dmlmodel.User.objects.all()
serializer_class = dm3ser.UserSer
filter_backends = [DjangoFilterBackend] # 申明配置过滤器
filter_fields = ('username','age','home')


# 排序
class UserModelView(ModelViewSet):
queryset = dmlmodel.User.objects.all()
serializer_class = dm3ser.UserSer
filter_backends = [OrderingFilter] # 申明配置排序过滤器
ordering_fields = ('age','hight')


# 分页
class MyPage(PageNumberPagination):
page_size_query_param = 'max_page'
page_query_param = 'page'

class UserModelView(ModelViewSet):
queryset = dmlmodel.User.objects.all()
serializer_class = dm3ser.UserSer
pagination_class = MyPage

posted @ 2020-11-23 17:18  小白很快乐  阅读(392)  评论(0)    收藏  举报