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)

相关推荐

  • 马飞,马飞的《长安县》 歌词

    技术马飞,马飞的《长安县》 歌词歌名:《长安县》   演唱:马飞   作词:马飞   作曲:马飞   专辑:《当初就不应该学吉他》   歌词:   骑着车子来到长安县   来上一个大碗的油泼面   长安县 那么些年 都么

    生活 2021年10月26日
  • C++ socket网络编程方法是什么

    技术C++ socket网络编程方法是什么本篇内容主要讲解“C++ socket网络编程方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++ socket网络编程方

    攻略 2021年11月19日
  • java lock锁的使用场景(javareentrantlockislock)

    技术Java读写锁ReentrantReadWriteLock怎么使用这篇文章主要介绍“Java读写锁ReentrantReadWriteLock怎么使用”,在日常操作中,相信很多人在Java读写锁ReentrantRe

    攻略 2021年12月21日
  • 美的电饭煲怎么用,美的全智能电饭煲预约怎么用

    技术美的电饭煲怎么用,美的全智能电饭煲预约怎么用一美的电饭煲怎么用、工具/原料 电饭煲一个 二、方法/步骤
    1、在洗干净的锅里放上适量的清水和干净的白米。 2、打开电源开关,让电饭煲通电。 3、按下功能开关,选择自己需

    生活 2021年10月27日
  • 貔貅的摆放,家里的一对貔貅怎么摆图片

    技术貔貅的摆放,家里的一对貔貅怎么摆图片摆放貔貅是有一定的方法和讲究的貔貅的摆放,正确的摆放能够让貔貅更好的来招财和辟邪镇宅。 貔貅是传说中的神兽,从古至今都被很多人所喜欢和追崇。貔貅嘴大无肛,形象威风霸气,专门的吞食金

    生活 2021年10月26日
  • servletservice方法的参数(如何将service注入到servlet)

    技术servlet.service()方法怎么调用这篇文章主要介绍“servlet.service()方法怎么调用”,在日常操作中,相信很多人在servlet.service()方法怎么调用问题上存在疑惑,小编查阅了各式

    攻略 2021年12月24日