zoukankan      html  css  js  c++  java
  • ModelViewSet里的过滤、排序、分页、序列化设置

    先安装一下配置:

      安装DjangoRestFrameworkk
      pip install djangorestframeword==3.11.1(别的版本应该也可以,但是我目前不太清楚)
      pip install django_filter==2.3.0(同上)
      pip install markdown
    

    然后在settings里面配置添加:

      REST_FRAMEWORK = {
           'DEFAULT_THROTTLE_CLASSES': (
               'rest_framework.throttling.AnonRateThrottle',
               'rest_framework.throttling.UserRateThrottle',
           ),
           'DEFAULT_THROTTLE_RATES': {
               'anon': '100/day',
               'user': '1000/day'
           },
           'DEFAULT_FILTER_BACKENDS': ('django_filter.rest_framework.DjangoFilterBackend',)
      }
    

    跟路由还跟以前一样。
    子路由:

      from django.urls import path, include
      from apps.app01 import views
      from rest_framework.routers import DefaultRouter
    
      router = DefaultRouter()
      router.register("users", views.UserModelViewSet)(users是路径,UserModelViewSet是接口的名字)
    
      urlpatterns = [
            path('', include(router.urls)),
      ]
    

    views:

      from .models import *
      from .serializers import *
      from django_filters.rest_framework import DjangoFilterBackend
      from rest_framework.filters import OrderingFilter
      from rest_framework.pagination import PageNumberPagination
      from rest_framework.viewsets import ModelViewSet
    
      class UserModelViewSet(ModelViewSet):
          queryset = User.objects.all()
          serializer_class = UserSer
          pagination_class = StandardPageNumberPagination
          filter_backends = (OrderingFilter, DjangoFilterBackend)
          filter_filter = ['username', 'password']
          ordering_fields = ('password')
  • 相关阅读:
    Mac OSX下增加TCP连接数
    Connection reset by peer的常见原因及解决办法
    修改主机名
    docker 查看 docker容器启动 完整命令
    nginx 日志打印响应时间 request_time 和 upstream_response_time
    Ubuntu16.04 安装 Docker
    VictoriaMetrics vmagent 使用
    VictoriaMetrics vmauth 使用
    VictoriaMetrics集群模式的一些说明
    promgen prometheus 配置文件生成工具
  • 原文地址:https://www.cnblogs.com/kaka007/p/13893011.html
Copyright © 2011-2022 走看看