zoukankan      html  css  js  c++  java
  • django drf GenericAPIView和ListAPIView

    drf提供了更快捷的查询方法ListModelMixin+GenericAPIView,和ListAPIView

    1.ListModelMixin+GenericAPIView

    from django.shortcuts import render
    
    from rest_framework.views import APIView
    from rest_framework.response import Response
    from rest_framework import status
    from rest_framework.parsers import JSONParser
    from rest_framework import mixins, generics
    from rest_framework.generics import ListAPIView
    from rest_framework.pagination import PageNumberPagination
    from goods.models import Goods
    from goods.serializer import GoodsSerializer
    
    
    class GoodsList(mixins.ListModelMixin,generics.GenericAPIView):
        queryset = Goods.objects.all()[:10]
        serializer_class = GoodsSerializer
    
        def get(self,request,*args,**kwargs):
            return self.list(request,*args,**kwargs)
    
    
    # 需要配置setting.py中的REST_FRAMEWORK节点
    class GoodsList(ListAPIView):
        queryset = Goods.objects.all()[:10]
        serializer_class = GoodsSerializer

    2.ListAPIView

    from django.shortcuts import render
    
    from rest_framework.views import APIView
    from rest_framework.response import Response
    from rest_framework import status
    from rest_framework.parsers import JSONParser
    from rest_framework import mixins, generics
    from rest_framework.generics import ListAPIView
    from rest_framework.pagination import PageNumberPagination
    from goods.models import Goods
    from goods.serializer import GoodsSerializer
    
    
    class GoodsList(ListAPIView):
        class GoodsPagination(PageNumberPagination):
            page_size = 1
            page_size_query_param = 'pageSize'
            page_query_param = 'p'
            max_page_size = 100
    
        queryset = Goods.objects.all()[:10]
        serializer_class = GoodsSerializer
        pagination_class = GoodsPagination

    我们可以从源码中看到ListAPIVIew继承了ListModelMixin+GenericAPIView

  • 相关阅读:
    java8 Date/Time API 新的日期处理工具
    java8 Lambda 表达式和函数式接口快速理解
    java8 新特性精心整理(全)
    Git 从入门到熟练|不敢说精通
    C# Color 列表
    自动控制原理6
    forfiles命令详解
    详解SQLEXPR32_x86_CHS.exe、SQLEXPR_x86_CHS.exe、SQLEXPR_x64_CHS.exe之间的区别
    power disiagner pdb
    vs 中大括号之间垂直虚线显示
  • 原文地址:https://www.cnblogs.com/chenyishi/p/10654435.html
Copyright © 2011-2022 走看看