django-rest-framework框架 第三篇 之CRUD视图扩展类(增删改查的优化)
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视图扩展类(增删改查的优化)的更多相关文章
- 【基础篇】js对本地文件增删改查
[基础篇] js对本地文件增删改查--增 js对本地文件增删改查--删 js对本地文件增删改查--改 js对本地文件增删改查--查
- 【基础篇】js对本地文件增删改查--查
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--改
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--删
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--增
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)
目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...
- SSM框架入门——整合SSM并实现对数据的增删改查功能(Eclipse平台)
一.搭建框架环境 整个项目结构如下: 搭建SSM步骤如下: (1)准备好三大框架的jar包,如图所示 (2)在Eclipse中创建一个web project ,并把这些jar包粘贴到lib文件夹中. ...
- 搭建ssm框架,可实现登录和数据展示以及增删改查
需求: 后台使用ssm(spring-springMVC-mybatis)进行整合 前台使用bootstrap框架 前后台交互使用Ajax进行发送 表结构: 登录页面后显示所有用户信息,可对每条进行增 ...
- Golang中map的三种声明方式和简单实现增删改查
package main import ( "fmt" ) func main() { test3 := map[string]string{ "one": & ...
随机推荐
- cogs 49. 跳马问题
49. 跳马问题 ★ 输入文件:horse.in 输出文件:horse.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 有一只中国象棋中的 “ 马 ” ,在半张 ...
- python编程练习
python练习之冒泡排序: python代码: #coding=utf-8 if __name__=="__main__": arr=[3,2,1,7,11,4,5,8] pri ...
- UIWebView 无缝切换到 WKWebView
WKWebView 是IOS8新增的 Web浏览视图 长处: 载入速度 比UIWebView提升差点儿相同一倍的, 内存使用上面,反而还少了一半. 缺点: WKWebView 不支持缓存 和 ...
- 设计模式实例(Lua)笔记之六(Adapter模式)
1.描写叙述 "我"在 2004 年的时候带了一个项目,做一个人力资源管理,该项目是我们总公司发起的项目,公司一共同拥有 700 多号人,包含子公司,这个项目还是比較简单的,分为三 ...
- wifidog用php实现验证流程
原创性声明 此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/25384909假设进行转载请注明出处.本文作者原创,邮箱zhujunx ...
- Android学习笔记之图像颜色处理(ColorMatrix)
对图像进行颜色方面的处理,通过使用颜色矩阵(ColorMatrix)来实现.从而可以达到很多特效如黑白老照片.泛黄旧照片等等. 1.颜色矩阵(ColorMatrix) 这里有详细的介绍:http:// ...
- 51.cgi网站后门
运行截图: html开发: <html> <body> <form id="form" name="form" method=&q ...
- Qwt库的一个使用注意事项
作者:朱金灿 来源:http://blog.csdn.net/clever101 一般debug版本的程序链接release版本的库是没有问题的.今天使用debug版本程序链接release版本的qw ...
- 【深入篇】Andorid中常用的控件及属性
TextView android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/phone/map/al ...
- google dataflow model 论文
http://www.chinacloud.cn/show.aspx?id=24446&cid=17