zoukankan      html  css  js  c++  java
  • 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

    完毕  续更...

  • 相关阅读:
    WPF 使用 Direct2D1 画图 绘制基本图形
    WPF 使用 Direct2D1 画图 绘制基本图形
    dot net core 使用 IPC 进程通信
    dot net core 使用 IPC 进程通信
    win2d 图片水印
    win2d 图片水印
    Java实现 LeetCode 240 搜索二维矩阵 II(二)
    PHP closedir() 函数
    PHP chroot() 函数
    PHP chdir() 函数
  • 原文地址:https://www.cnblogs.com/zhichao123/p/10561590.html
Copyright © 2011-2022 走看看