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',
        # ),
    }
  • 相关阅读:
    JNI实例(含代码)
    sizeof()小结
    【转】C++ 关键字——friend
    curl资料小结
    【Curl (libcurl) 开发 之一】Cocos2dx之libcurl(curl_easy)的编程教程(帮助手册)!
    JSP中统一错误信息输出
    在号码池取连续号码的算法
    常用的文件操作方法
    走出基金净值的误区
    ResultSet概论
  • 原文地址:https://www.cnblogs.com/sq1995liu/p/14153551.html
Copyright © 2011-2022 走看看