CRUD视图扩展类

1  CreateModelMixin

2  RetrieveModelMixin

3  UpdateModelMixin

4  DestroyModelMixin

<1> 创建扩展类

CreateModelMixin 提供create(request, *args, **kwargs) 这个方法 实现了创建、保存一个新mode实例的功能。 如果成功返回 201Created 如果请求不可用返回 400 Bad Request 扩展视图类-CreateAPIView 只作为创建资源用,提供了一个post方法

<2>查询扩展类

RetrieveModelMixin 提供retrieve(request, *args, **kwargs) 这个方法 实现了返回一个model实例 如果成功就返回200 OK 如果失败 就返回404 视图扩展类-RetrieveAPIView 只获取单个model实例操作,提供了get方法

<3>更新扩展类

UpdateModelMixin 提供update(request, *args, **kwargs) 实现更新、保存model实例的功能 提供partial_update(request, *args, **kwargs) 部分更新,支持PATCH请求。 如果成功就返回200 OK 如果失败 就返回404 视图扩展类 -UpdateAPIView 只对单个model做更新操作,提供了put、patch两个方法

<4>删除扩展类

DestroyModelMixin 提供destroy(request, *args, **kwargs) 实现删除一个model实例的功能 删除成功 返回 204 删除失败 返回 404 视图扩展类-DestroyAPIView 只做删除单个model实例操作 提供了delete 方法

接下来讲个例子 操作一番

<1> 如第二篇例子      

<一>:<1>创建项目:    

配置 urls 主路由     配置setting文件导入INSTALLED_APPS=''rest_framework',

配置model文件(举个例子,就以book为模型)

当完成这步时  进行数据的 ''迁移''   然后 '执行'  操作

数据迁移完后 创建sers(序列化文件 名字随意起)  并基础配置

再配置views   并且导入ModelViewSet   

此时为什么导入ModelViewSet   (是因为ModelViewSet 中有 增删 改查的方法 )  

接下来需要配置 子路由  

当完成这个操作  基本上就 是完结了

然后启动服务器  python manage.py runserver

完毕  续更...

django-rest-framework框架 第三篇 之CRUD视图扩展类(增删改查的优化)的更多相关文章

  1. 【基础篇】js对本地文件增删改查

    [基础篇] js对本地文件增删改查--增 js对本地文件增删改查--删 js对本地文件增删改查--改 js对本地文件增删改查--查

  2. 【基础篇】js对本地文件增删改查--查

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  3. 【基础篇】js对本地文件增删改查--改

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  4. 【基础篇】js对本地文件增删改查--删

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  5. 【基础篇】js对本地文件增删改查--增

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  6. Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)

    目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...

  7. SSM框架入门——整合SSM并实现对数据的增删改查功能(Eclipse平台)

    一.搭建框架环境 整个项目结构如下: 搭建SSM步骤如下: (1)准备好三大框架的jar包,如图所示 (2)在Eclipse中创建一个web project ,并把这些jar包粘贴到lib文件夹中. ...

  8. 搭建ssm框架,可实现登录和数据展示以及增删改查

    需求: 后台使用ssm(spring-springMVC-mybatis)进行整合 前台使用bootstrap框架 前后台交互使用Ajax进行发送 表结构: 登录页面后显示所有用户信息,可对每条进行增 ...

  9. Golang中map的三种声明方式和简单实现增删改查

    package main import ( "fmt" ) func main() { test3 := map[string]string{ "one": & ...

随机推荐

  1. 解决spring-boot启动中碰到的问题:Cannot determine embedded database driver class for database type NONE(转)

    问题 如下: 2017-07-16 08:50:57.436  INFO 13524 --- [           main] c.p.p.web.PointshopWebApplication   ...

  2. 高速改动android系统默认日期方法

    高速改动android系统默认日期方法 在android系统的设备上,都有一个默认的開始日期,看过非常多设备,有些设备在没有联网的时候没有同步到系统时间的时候,竟然默认的还是1970年的日期.也见过有 ...

  3. java导入大量Excel时报错

    在项目中同事遇到一问题,如今给大家分享一下. 在程序里面导入两千多条数据后.程序就报错. 刚開始以为是内存的问题.在经过细致跟踪代码后发现每次都是833行的第三列报错.也就是第一万列.最后在网上找到了 ...

  4. python-打开网页

    最近一直想通过python来实现网页的操作.因为想把自己vimrc的配置直接通过脚本来实现.比较理想的情况下,就是通过一个脚本,把自己需要的一些资源直接从网上下载下来,然后再对下载的资源进行安装等操作 ...

  5. 智课雅思词汇---三、aud和auto和bene是什么意思

    智课雅思词汇---三.aud和auto和bene是什么意思 一.总结 一句话总结:aud:听 auto:自己,self bene:good,well 1.anthropo是什么意思? anthropo ...

  6. js实现动态添加事件

    js实现动态添加事件 一.实例描述 前一个案例讲了如何在网页中动态添加元素,有时候我们需要添加事件.本例学习如何动态的为元素添加事件. 二.截图 三.代码 <!DOCTYPE html> ...

  7. H.264视频编解码SoC满足高清DVR设计需求

    硬盘录像机(DVR)作为监控系统的核心部件之一,在10年里高速发展,从模拟磁带机的替代品演变成具有自己独特价值的专业监控数字平台,并被市场广泛接受.监控系统伴随DVR这些年的发展向着IP化.智能化发展 ...

  8. VB&XML的增删改查

    简介:XML的增删改查 开发过程中有许多后台操作XML的过程,每次需要操作时都是找很多代码来参考或者百度一下.今天决定补充下XML操作的知识,把XML操作的增删改查都写了一遍,供以后开发参考 查询: ...

  9. POJ 1742 Coins 优化后的多重背包

    Coins Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 37853   Accepted: 12849 Descripti ...

  10. gpasswd---指定要管理的工作组,及更改密码

    gpasswd 命令详解 gpasswd命令是Linux下工作组文件/etc/group和/etc/gshadow的管理工具,用于指定要管理的工作组. 2.选项详解: -a : 添加用户到组 -d : ...