24 二级视图

技术24 二级视图 24 二级视图和一级视图相比:GenericAPIView来自 :from rest_framework.generics import GenericAPIView新增:字段:  

24 二级视图

和一级视图相比:

GenericAPIView

来自:从rest_framework.generics导入泛型数据透视图

新增:

字段:

queryset=BookInfo.objects.all()

self.queryset本来可以获取但是编译器不让你获取还是用方法获取吧

self.get_queryset()

serializer _ class=BookInfoSerializer

self.serializer_class

lookup_field='pk' #下面讲解get_object使用

方法:

self.get_serializer(实例=书籍,许多=真)

self.serializer_class()(实例=书籍,许多=真)

self.get_queryset()

self.get_object()自动通过queryset和公园获取单个实例

使用

views.py

类BookInfoGenericView(通用数据透视图):

queryset=BookInfo.objects.all()

serializer _ class=BookInfoSerializer

def get(自我,请求):

books=self.get_queryset()

# books=self.queryset

#序列化程序=self.get_serializer(实例=书籍,许多=真)

#序列化程序=自身。serializer _ class()(实例=书籍,许多=真)

序列化程序=self.get_serializer(实例=书籍,许多=真)

返回响应(序列化程序。数据)

def post(自我,请求):

book=request.data

序列化程序=BookInfoSerializer(数据=书)

序列化程序有效(引发异常=真)

serializer.save()

返回响应(序列化程序。数据)

类BookInfoGenericDetailView(generic view):

查询集=bookinfo。物体。全部()#也是必须填写后面的get_object()是从这里获取

serializer _ class=BookInfoSerializer

def get(自我、请求):

# 参数只能是公园

book=self.get_object()#自动从传入的公园获取

序列化程序=self.get_serializer_class()(实例=书)

返回响应(序列化程序。数据,状态=状态HTTP_200_OK)

# 更新单个

def put(自我、请求):

book_data=request.data

book=self.get_object()

序列化程序=自身。get _ serializer _ class()(实例=书,数据=book_data)

序列化程序有效(引发异常=真)

serializer.save()

返回响应(序列化程序。数据,状态=状态HTTP_201_CREATED)

# 删除单个

极好的删除(自我、请求):

self.get_object().删除()

返回响应(状态=状态HTTP_204_NO_CONTENT)

  urls.py

路径(“generic_view_books/”,视图. BookInfoGenericView.as_view()),

路径(' generic_view_books/int:pk ',视图bookinfogenericdetailview。as _ view()),

注意的是:路由和视图函数值必须是公园因为默认是公园如果想要其他的是可以修改

get_object 是如何通过pk获取

自己也去源码看

self.kwargs

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/67478.html

(0)

相关推荐

  • 如何进行JavaScript数据扁平化分析

    技术如何进行JavaScript数据扁平化分析如何进行JavaScript数据扁平化分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是

    攻略 2021年12月4日
  • 如何用nmap对系统版本和服务版本的探测

    技术如何用nmap对系统版本和服务版本的探测如何用nmap对系统版本和服务版本的探测,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。接下来是关

    攻略 2021年12月9日
  • ArrayList扩容机制

    技术ArrayList扩容机制 ArrayList扩容机制写在前面
    数据结构在面试中基本都是常问的,但是一般开发中基本上都是在使用没有去关心过怎么实现的。
    在数据结构中,链表是一种线性存储结构,也就是常

    礼包 2021年11月25日
  • 方程式题目五年级,小学五年级数学应用题目什么没有

    技术方程式题目五年级,小学五年级数学应用题目什么没有某小学一班植树48棵,比二班少植树8棵,二班植树多少棵?人民小学食堂运来400千克大米,已经吃了5分之2,还剩多少千克?用一张边长20厘米的正方形纸,裁剪粘贴成一个无盖

    生活 2021年10月23日
  • 不惑之年是多少岁,人到不惑之年,有何感悟

    技术不惑之年是多少岁,人到不惑之年,有何感悟四十岁不是青春消逝不惑之年是多少岁,而是成熟人生的开始。人到了四十岁,己历练成熟,不会象年青时那样迷茫与困惑了。四十岁的人生阶段,事业己稳固,财富也有了积累,社会经验更加丰富,

    生活 2021年11月1日
  • 如何理解TCP协议、算法和原理

    技术如何理解TCP协议、算法和原理如何理解TCP协议、算法和原理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先,我们需要知道,我们程序的

    攻略 2021年11月24日