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)

相关推荐

  • animation

    技术animation animation一、概述
    CSS3的animation属性可以像flash制作动画一样,通过关键帧控制动画的每一步,实现更为复杂的动画效果。使用方法:
    1)利用@keyfram

    礼包 2021年12月18日
  • PDO连接数据库

    技术PDO连接数据库 PDO连接数据库上一篇文章为您介绍了“PHP数据库如何使用PDO连接数据库”在PHP中,为您详细地介绍了如何通过PDO连接数据库,这篇文章让您继续了解PHP中如何使用PDO执行SQ

    礼包 2021年10月28日
  • new的反义词,“new”的反义词是什么

    技术new的反义词,“new”的反义词是什么new的反义词是oldnew的反义词;old;英 [əʊld] 美 [oʊld] adj.老的;古老的;以前的;(用于指称被替代的东西)原来的n.古时比较级: older

    生活 2021年10月27日
  • 如何理解Java设计模式的装饰模式

    技术如何理解Java设计模式的装饰模式这篇文章主要介绍“如何理解Java设计模式的装饰模式”,在日常操作中,相信很多人在如何理解Java设计模式的装饰模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年11月8日
  • vue中len函数的功能是什么(vue中babel作用)

    技术vue中babel指的是什么意思这篇文章将为大家详细讲解有关vue中babel指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在vue中,

    攻略 2021年12月22日
  • Jmeter中使用循环如何保证数据不重复

    技术Jmeter中使用循环如何保证数据不重复本篇文章为大家展示了Jmeter中使用循环如何保证数据不重复,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在Jmeter中设置并发为S

    攻略 2021年11月17日