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)

相关推荐

  • ppg是什么意思,化妆品peg/ppg是什么意思

    技术ppg是什么意思,化妆品peg/ppg是什么意思PEG/PPG-15/30 产品外观ppg是什么意思:无色到清透的淡黄色液体
    INCI名称:PEG/PPG 25/30CPPOLYMER
    性能与用途:消除护肤品粘感

    生活 2021年10月30日
  • vue-cli脚手架中webpack配置基础文件有哪些

    技术vue-cli脚手架中webpack配置基础文件有哪些这篇文章主要讲解了“vue-cli脚手架中webpack配置基础文件有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年11月11日
  • C++ STL中常用算法怎么使用

    技术C++ STL中常用算法怎么使用这篇文章主要讲解了“C++ STL中常用算法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++ STL中常用算法怎么使用”吧

    攻略 2021年11月29日
  • properties在哪里设置(properties怎么配置)

    技术Properties如何使用本篇内容介绍了“Properties如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年12月17日
  • oraclepdb库(oracle跨pdb互访)

    技术Oracle怎么实现跨平台传输PDB本篇内容主要讲解“Oracle怎么实现跨平台传输PDB”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle怎么实现跨平台传输PD

    攻略 2021年12月21日
  • 如何理解jmeter

    技术如何理解jmeter今天就跟大家聊聊有关如何理解jmeter,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 1. jmeter环境

    攻略 2021年11月17日