zoukankan      html  css  js  c++  java
  • ModelViewSet 分页 过滤

    ModelViewSet 分页 过滤

    局部使用

    分页

      导包

    from django_filters.rest_framework import DjangoFilterBackend

      类调用

    class MyPage(PageNumberPagination):
        page_size_query_param = 'max_page'
        page_query_param = 'page'
    class UserViewSet(viewsets.ModelViewSet):
      
      queryset = User.objects.all()
      # 分页   pagination_class
    = MyPage   serializer_class = UserSerializer #展示序列化器所有信息

    过滤

      导包

    from rest_framework import filters

      调用

    class UserViewSet(viewsets.ModelViewSet):
      
      queryset = User.objects.all()  
      filter_backends = (DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter)   
      filter_class = GoodsFilters

      serializer_class = UserSerializer #展示序列化器所有信息

    全局使用

    REST_FRAMEWORK ={
        'DEFAULT_THROTTLE_RATES': {
            'user': '100/hour', # 认证用户每小时10次
            'anon': '1000/day',
        },
        # 过滤全局配置  (ModelViewSet)
        'DEFAULT_FILTER_BACKENDS':(
            'django_filters.rest_framework.DjangoFilterBackend',
            'rest_framework.filters.OrderingFilter'
        ),
        # 分页
        'DEFAULT_PAGINATION_CLASS':
            'rest_framework.pagination.PageNumberPagination',
            'PAGE_SIZE': 2,# 每⻚数⽬
        # 身份认证
        'DEFAULT_AUTHENTICATION_CLASSES': (
            'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
            'rest_framework.authentication.SessionAuthentication',
            # 登陆权限
            'rest_framework.authentication.BasicAuthentication',
        ),
        # #全局配置JWT验证设置
        # 'DEFAULT_PERMISSION_CLASSES': (
        #     'rest_framework.permissions.IsAuthenticated',
        # ),
    }
  • 相关阅读:
    [杂题笔记]2021.08.18-2021.09.03,CF#741 Div.2&CF#736 Div.2&CF Global Round15&CF#739 Div3
    第一次博客作业
    《博弈论》
    迭代法-二分迭代求解低阶线性方程
    迭代法-牛顿迭代法
    logback扩展日志输出功能
    log4j2扩展日志输出功能
    c# clr创建mssql的存储过程、函数
    驰骋BPM,工作流
    Docker部署RocketMQ踩坑记录
  • 原文地址:https://www.cnblogs.com/GlfLss/p/14080638.html
Copyright © 2011-2022 走看看