• 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

    完毕  续更...

  • 相关阅读:
    设计一个字符串类,并将字符串处理函数的内容进行封装
    C++字符串处理函数【自写】
    文件共享服务器nfs搭建过程
    svn服务器的搭建过程 主要为服务端
    uwsgi和wsgi
    熟悉了下HTTP协议
    ModelForm views.py
    隐藏tomcat nginx版本信息
    csrf
    开发模式
  • 原文地址:https://www.cnblogs.com/zhichao123/p/10561590.html
Copyright © 2020-2023  润新知