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视图扩展类(增删改查的优化) - Python技术站