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)

相关推荐

  • uvm常见断言方法(uvm里面start的参数什么意义)

    技术如何浅析UVM概念中的topdown phase本篇文章给大家分享的是有关如何浅析UVM概念中的topdown phase,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小

    攻略 2021年12月18日
  • Pycharm怎么安装PyQt5

    技术Pycharm怎么安装PyQt5本篇内容主要讲解“Pycharm怎么安装PyQt5”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pycharm怎么安装PyQt5”吧!1.

    攻略 2021年12月8日
  • Spring在单值注入时如何按类型查找匹配的Bean

    技术Spring在单值注入时如何按类型查找匹配的BeanSpring在单值注入时如何按类型查找匹配的Bean,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。引

    攻略 2021年10月27日
  • mssql邮件无法初始化(winxp命令启动sql)

    技术当MSSQL无法调用Xp_CmdShell时该怎么办这期内容当中小编将会给大家带来有关当MSSQL无法调用Xp_CmdShell时该怎么办,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收

    攻略 2021年12月14日
  • gitlab关闭ssl验证(gitlab 扫描)

    技术仍然会使用eolinker扫描GitLab代码注释自动本篇文章给大家分享的是有关仍然会使用eolinker扫描GitLab代码注释自动,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不

    攻略 2021年12月24日
  • 数据库中Oracle DB2随取几行的示例分析

    技术数据库中Oracle DB2随取几行的示例分析小编给大家分享一下数据库中Oracle DB2随取几行的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们

    攻略 2021年11月20日