首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >DRF三级视图

DRF三级视图

作者头像
zy010101
发布2021-12-17 20:29:29
发布2021-12-17 20:29:29
6180
举报
文章被收录于专栏:程序员程序员

DRF三级视图

所谓DRF三级视图,是指DRF对于GenericAPIView和Mixin的直接封装。在DRF的文档中,可以看到有非常的多的“三级视图”可供使用。在此不做一一展示使用,只是选择几个来再一次重新实现DRF二级视图GenericAPIView中的方法。

代码语言:javascript
复制
from rest_framework.generics import ListCreateAPIView, RetrieveUpdateDestroyAPIView
class ListCreateAPI(ListCreateAPIView):
    """列表查询和新增功能"""
    queryset = BookInfo.objects.all().order_by('id')
    serializer_class = BookInfoSerializer
    pagination_class = PageNum


class RUDAPI(RetrieveUpdateDestroyAPIView):
    """修改,查询,删除"""
    queryset = BookInfo.objects.all()
    serializer_class = BookInfoSerializer
    lookup_field = 'id'
    lookup_url_kwarg = 'id'

使用三级视图的时候,就只需要设置相关的属性,就可以了。三级视图内部已经实现了相应的方法。为了对比效果,这次的URL设置如下:

代码语言:javascript
复制
path('book2/', ListCreateAPI.as_view()),
path('book2/<int:id>', RUDAPI.as_view()),

结果对比图如下所示:

可以看到,方法都被实现了,并且三级视图还实现了PATCH请求。

对于一些简单的场景,DRF的开发效率是非常牛逼的,DRF能够帮助开发者大大提高开发效率。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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