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

  • 相关阅读:
    嵌入式实验一:LED灯点亮
    [转] sql中的in与not in,exists与not exists的区别
    订单管理系统基本情况
    solaris系统分区及格式化
    百度超大网盘邀请码,点击可以获得额外的300M哦
    vb设置代理ip
    我看到一种防伪查询系统,叫做西门防伪防伪查询系统,不知道好不好用。
    零碎知识点整理
    初学WCF之消息模式3——双工模式
    HTTP 错误 500.21 Internal Server Error
  • 原文地址:https://www.cnblogs.com/chenyishi/p/10654435.html
Copyright © 2011-2022 走看看