首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django Rest framework 3.4.0,带有自定义create()和多对多关系的ViewSet

Django Rest Framework(DRF)是一个用于构建Web API的强大框架,它基于Django,并提供了一套用于快速开发API的工具和库。DRF的版本3.4.0是其中的一个特定版本,它引入了一些新功能和改进。

自定义create()方法是DRF中ViewSet的一个重要功能。ViewSet是DRF中用于处理请求的视图类,它结合了Django的View和ModelViewSet的功能,提供了一种简单而强大的方式来定义API的行为。通过自定义create()方法,我们可以在创建资源时执行自定义的逻辑,例如验证数据、处理关联关系等。

多对多关系是数据库中常见的一种关系类型,它表示两个实体之间的多对多关系。在DRF中,我们可以使用多对多关系来定义模型之间的关联关系,并通过ViewSet来处理这些关系。DRF提供了多对多关系的序列化器和视图集,使得处理多对多关系变得简单和方便。

Django Rest Framework的优势包括:

  1. 快速开发:DRF提供了一套强大的工具和库,使得开发API变得简单和高效。
  2. 灵活性:DRF允许开发人员根据需求自定义API的行为和逻辑,包括自定义create()方法和处理多对多关系。
  3. 强大的序列化器:DRF的序列化器提供了灵活的数据序列化和反序列化功能,使得处理复杂数据结构变得简单。
  4. 认证和授权:DRF提供了多种认证和授权方式,包括基于Token的认证、OAuth认证等,保护API的安全性。
  5. 文档化支持:DRF自带了强大的文档化工具,可以自动生成API文档,方便开发人员和用户查阅和理解API的使用方式。

Django Rest Framework的应用场景包括但不限于:

  1. 构建RESTful API:DRF是构建RESTful API的理想选择,它提供了一套完整的工具和库,使得开发API变得简单和高效。
  2. 移动应用后端:DRF可以作为移动应用的后端框架,提供数据接口和业务逻辑处理,为移动应用提供数据支持。
  3. Web应用后端:DRF可以作为Web应用的后端框架,提供数据接口和业务逻辑处理,为Web应用提供数据支持。
  4. 微服务架构:DRF可以作为微服务架构中的一个服务,为其他服务提供数据接口和业务逻辑处理。

腾讯云提供了一系列与云计算相关的产品和服务,以下是一些推荐的腾讯云产品和产品介绍链接:

  1. 云服务器(CVM):提供弹性的云服务器实例,支持多种操作系统和应用场景。产品介绍链接
  2. 云数据库MySQL版(CDB):提供稳定可靠的云数据库服务,支持高可用、备份恢复等功能。产品介绍链接
  3. 云存储(COS):提供安全可靠的对象存储服务,支持海量数据存储和访问。产品介绍链接
  4. 人工智能平台(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。产品介绍链接
  5. 物联网(IoT):提供全面的物联网解决方案,包括设备接入、数据管理、应用开发等。产品介绍链接

以上是关于Django Rest Framework 3.4.0的完善且全面的答案,希望对您有帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django-DRF】md笔记第6篇:Django-DRF视图、认证、分页其他功能详解

本文从分析现在流行前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做最核心工作,然后介绍Django...DRF全套笔记直接地址: 请移步这里 共 5 章,24 子模块视图Django REST framwork 提供视图主要作用:控制序列化器执行(检验、保存、转换数据)控制数据库查询执行视图集ViewSet...2)GenericViewSet使用ViewSet通常并不方便,因为list、retrieve、create、update、destory等方法都需要自己编写,而这些方法与前面讲过Mixin扩展类提供方法同名...视图集继承关系路由Routers对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间对应关系外,还可以使用Routers来帮助我们快速实现路由信息。...视图集中附加action声明在视图集中,如果想要让Router自动帮助我们为自定义动作生成路由信息,需要使用rest_framework.decorators.action装饰器。

19310

RESTful源码笔记之RESTful FrameworkAPIview, Viewset总结分析

0x00  引言 官方文档:http://www.django-rest-framework.org/ drf为我们提供强大通用view功能,本博客这些view进行简要总结分析。...首先,我们看一下主要几种view以及他们之间关系。 ? 这其中,还涉及了mixins,主要也分为5类: ?...import APIView from rest_framework.response import Response # 这个serializers是在其他文件自定义,这里这个不进行过多介绍 from...APIViewdjango本身View进行封装,从上述代码,这样分析,两者差别看起来不是很大,但实际中APIView做了很多东西,它定义了很多属性与方法,举几个例子 # 这三个是常用属性...0x03 GenericAPIView from rest_framework import mixins from rest_framework import generics class CourseListView

1K10

Rest_framework Route

ViewSet注册到Router中,需要三个要素: 关于路由规则,细分有四类: rest_framework.routers.SimpleRouter源码解析 SimpleRouter继承方法一览...SimpleRouter类源码 总结 Rest_framework Router 路由器 虽说django rest_framework是基于django,url路由到视图主要还是利用django...dispatcher路由系统(可以参考我另一篇关于django url dispatcher详解),但是rest_framework还在django路由基础上,提供了基于restful风格更高等级路由方式...下面就结合一条route就定义了产生实际url路由相应url操作映射。 ViewSet结合Router,自动生成url。...rest_framework.routers.SimpleRouter源码解析 主要通过源码简单分析,印证本文上面内容表达 SimpleRouter继承方法一览 ?

1.1K10

django rest framework通用view

官方文档:http://www.django-rest-framework.org/ drf为我们提供强大通用view功能,本博客这些view进行简要总结分析。...首先,我们看一下主要几种view以及他们之间关系。 ? 这其中,还涉及了mixins,主要也分为5类: ? 下面我们以课程(course)作为一个例子,view进行一个总结。...APIView 接下来,我们用APIView来实现 from rest_framework.views import APIView from rest_framework.response import...Response # 这个serializers是在其他文件自定义,这里这个不进行过多介绍 from .serializers import CourseSerializer class CourseListView...GenericAPIView from rest_framework import mixins from rest_framework import generics class CourseListView

1K20

Django REST Framework-常用类视图

Django REST Framework是基于Django一个用于构建Web API框架。它提供了许多用于构建Web API工具实用程序,其中最常用是类视图。...类视图是一种Django REST FrameworkAPI视图,它是基于类视图。它提供了一种方便方式来编写可重用Web API视图,并带有许多有用内置功能。...例如,如果您想要编写一个视图来处理一个资源列表,并支持GETPOST请求,您可以使用ViewSet,如下所示:from rest_framework import viewsetsfrom rest_framework.response...总结在Django REST Framework中,类视图是一种方便方式来编写Web API视图,并带有许多有用内置功能。...本文介绍了Django REST Framework中最常用类视图,包括APIView,GenericAPIView,ModelViewSet,ReadOnlyModelViewSetViewSet

65830

django-rest-framewor

源码繁琐,多说无益,耐心细读官方文档: https://www.django-rest-framework.org/ 个人总结: REST是一种软件架构设计风格,不是标准,也不是具体技术实现,只是提供了一组设计原则和约束条件...DRF(Django RestFramework)是一套基于Django开发、帮助我们更好设计符合REST规范Web应用一个Django App,所以,本质上,它是一个Django App。...DRFdjango视图配置流程图(个人画) ?...插入数据到关系表:如果有多字段,手动插入数据到关系表 返回:将插入对象返回   {{ 实践代码 }}   使数据自动插入而且更加简单: class BookSerializer(serializers.ModelSerializer...程序启动,开始初始化,获取配置信息,获取视图类并加载到内存中,获取url及视图类对应关系 开始绑定视图类url对应关系,执行as_view()方法 as_view()方法被执行时候传递了参数,为字典形式

1.5K10

DRF进阶之DRF视图常用功能

GenericAPIView:APIView更高层次封装,例如增加分页、过滤器 GenericViewSet:继承GenericAPIViewViewSet ViewSet:继承APIView...,删除,查看 ViewSet类 GenericAPIView已经完成了许多功能,但会有一个问题,获取所有用户列表单个用户需要分别定义两个视图URL路由,使用ViewSet可以很好解决这个问题,并且实现了路由自动映射...):更新数据 destory():删除数据 修改app视图类: myapp/views.py from rest_framework.viewsets import ViewSet from rest_framework.response...示例:重写create()方法,修改数据响应内容格式 新增app视图: myapp/views.py from rest_framework.viewsets import ModelViewSet...sex=%E7%94%B7 搜索排序 DRF提供过滤器帮助我们快速字段进行搜索排序 继续修改app视图中新增过滤字段: myapp/views.py from rest_framework.viewsets

4.3K10

Django rest-framework视图家族

(操作资源指的是models模型类序列化类),将资源形成配置,操作逻辑一致,就可以完成封装 使用GenericAPIView类 继承GenericAPIView类 配置哪个表进行操作 配置使用哪个序列化类...群查方法 create:单增方法 update:单整体改方法 partial_update:单局部改方法 destroy:单删方法 使用mixins六大工具方法 继承GenericAPIView类 配置哪个表进行操作...使用generics工具类实现接口 配置哪个表进行操作 配置使用哪个序列化类 from rest_framework import generics class ViewGenericsAPIView...参数(可以完成路由层请求方法映射关系) 可以在路由层中自定义请求方法映射关系 使用viewsets视图集类实现接口 配置哪个表进行操作 配置使用哪个序列化类 可自定义路由层中请求方法映射关系来实现接口...ViewSet视图类都可以注册,会产生'^v5/cars/$' '^v5/cars/(?

73420

drf之请求、响应、视图

类似于Django中标准request.POST request.FILES属性,但提供如下特性: 1 包含了解析之后文件非文件数据 2 包含了POST、PUT、PATCH请求方式解析后数据...3 利用了REST frameworkparsers解析器,不仅支持表单类型数据,也支持JSON数据 .query_params request.query_params与Django标准...APIView与View不同之处在于: 传入到视图方法中REST frameworkRequest对象,而不是DjangoHttpRequeset对象; 视图方法可以返回REST framework...GenericViewSet :使用ViewSet通常并不方便,因为list、retrieve、create、update、destory等方法都需要自己编写,而这些方法与前面讲过Mixin扩展类提供方法同名...视图子类继承关系: ?

2.1K20

五、商品列表页

5.1.djangoview实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分djangodjango rest framework...,images保存是一个相对路径,我们还需要补全路径,而这些drf都可以帮助我们做到 以上写了这么多只是为了引入django rest framework简单介绍django序列化用法,下面就是重点讲解...django rest framework了 5.3.APIview方式实现商品列表页 (1)安装 pip install coreapi                         drf文档支持...pip install django-guardian           drf对象级别的权限支持 (2)配置def文档url MxShop/urls.py from rest_framework.documentation.../settings.py源码,里面可以找到如何配置:比如认证、权限分页等等 """ Settings for REST framework are all namespaced in the REST_FRAMEWORK

4.7K00

DRF 视图组件

扩展类排列组合组成,底层事通过封装继承来写 视图集 导入 from rest_framework.viewsets import ModelViewSet,ReadOnlyModelViewSet...GenericViewSet:使用ViewSet通常并不方便,因为list、retrieve、create、update、destory等方法都需要自己编写,而这些方法与前面讲过Mixin扩展类提供方法同名...''' 第五层:基于ViewSet写五个接口 视图集导入:from rest_framework.viewsets import ModelViewSet,ReadOnlyModelViewSet,ViewSet...import admin from django.urls import path, include from rest_framework.routers import SimpleRouter...As_view ({'get': 'list', 'post': 'create'}) 总结 补充 视图集中定义附加action动作 在视图集中,除了上述默认方法动作外,还可以添加自定义动作。

89110

django写接口(实战篇)

1.设置全局分页参数 我们可以在 project 下 settings.py 文件中加入 REST_FRAMEWORK 字典,设置全局分页参数 REST_FRAMEWORK = { # 配置全局分页类型每页数量...pagination_class 指定 # 自定义 Pagination,每个 Pagination 属性不同,可以通过源码查看,然后修改需要属性 from rest_framework.pagination...注册完以后,我们在 REST_FRAMEWORK 字典中将过滤器添加进去 REST_FRAMEWORK = { # 配置全局分页类型每页数量 'DEFAULT_PAGINATION_CLASS...': ('django_filters.rest_framework.DjangoFilterBackend',) } 基本配置完后我们需要对我们 viewSet 做些修改,增加一个 filter_backends...首先我们要先创建一个 filters.py 文件,用来定义过滤器 filter import django_filters # 自定义过滤器需要继承 django_filters.rest_framework.FilterSet

2K20

Django REST framework+Vue 打造生鲜超市(四)

五、商品列表页 5.1.djangoview实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分djangodjango rest...frameworkview 利用Djangoview实现返回json数据 # goods/view_base.py from django.views.generic import View from...都可以帮助我们做到 以上写了这么多只是为了引入django rest framework简单介绍django序列化用法,下面就是重点讲解django rest framework了 5.3.APIview...urlpatterns = [ #drf文档,title自定义 path('docs',include_docs_urls(title='仙剑奇侠传')), ]  (3)配置rest_framework...同时,ViewSet为我们提供了默认URL结构, 使得我们能更专注于API本身。  Router提供了一种简单,快速,集成方式来定义一系列urls

4.8K90
领券