首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Django Rest Framework 视图(下)

Django Rest Framework 视图(下)

作者头像
小团子
发布2019-07-18 14:55:36
发布2019-07-18 14:55:36
7050
举报
文章被收录于专栏:数据云团数据云团

Django Rest Framework 视图(上)

一、ModelViewSet

① 源码分析

ModelViewSet 做的更彻底,它又一次继承了 GenericViewSet,并且在此之前又继承了其它几个类,因此功能更多,变成了

ModelViewSet --> GenericViewSet --> APIView --> View

代码语言:javascript
复制
class ModelViewSet(mixins.CreateModelMixin, 
                    mixins.RetrieveModelMixin,
                    mixins.UpdateModelMixin,
                    mixins.DestroyModelMixin,
                    mixins.ListModelMixin,
                    GenericViewSet):
       pass

从这些类的名字可以大概看出,

CreateModelMixin

RetrieveModelMixin

UpdateModelMixin

DestroyModelMixin

ListModelMixin

分别对应,创建,获取单条数据,更新,删除,获取多条数据。

② 路由

由于在获取,删除,更新数据的时候需要这项数据的唯一标识,这里是 pk 主键,因此需要在 url 中增加正则匹配。

③ 视图

在视图中,并没有增加相应的增删改查的逻辑却能完成相应的功能,这是因为继承的 mixin 类中,已经有对应的方法,视图类会自动调用父类的方法。

④ 自定义

在 ModelViewSet 中,继承了多个 mixin 类,而这些类又分别封装了不同的对应于增删改查的方法,因此如果想要自定义一个接口,实现部分 http 方法,就可以根据需要继承不同的 mixin 类

mixins.CreateModelMixin

mixins.RetrieveModelMixin

mixins.UpdateModelMixin

mixins.DestroyModelMixin

mixins.ListModelMixin

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档