DRF之视图类(mixin)源码解析

 同样的增删改查操作,如果我们还像之前序列化组件那样做,代码重复率过多,所以我们用视图表示:

具体源码实现:
首先定义一个视图类,然后根据mixin点进去有五个封装好的方法,这五个方法共有的属性就是都需要一个queryset和序列化,所以五个方法都需要写这两个东西。

 

前边是查询单条数据,后边的类是查询多条数据.要区分开。

其中对应关系

ListModelMixin----------get----------单条数据的查询
CreateModelMixin-------post---------增加单条数据
UpdateModelMixin------put----------对多条数据的修改
DestroyModelMixin-----delete-------可以对多条数据
RetrieveModelMixin-----get----------查询多条数据

这样能解决问题,但是重复的代码似乎也不少。

 DRF又给我们封装了:

 

 源码就不一一走了。

 当然这已经很简单了,但是我们还有更简单的!让封装更彻底一下

源码分析:

我们先看查询多个数据的,项目启动,先定义一个类以及url设置。

点进去ModelViewSet:没有as_view方法继续往后看。

进入ViewSetMixxin看有没有这个方法。

果然是有的,

 

#url(r'^authors/$', views.AuthorsView.as_view({"get":"list","post":"create"})),
#url(r'^authors/$', ViewSetMixin.as_view({"get":"list","post":"create"})),
#url(r'^authors/$', ViewSetMixin.view),

 

 

转载于:https://www.cnblogs.com/hnlmy/p/10745771.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值