Django REST Framework-如何使用视图集(三)|环球今热点
【资料图】
定制视图集操作
视图集提供了一些通用的操作,例如获取列表、创建对象、获取详情、更新对象、部分更新对象和删除对象等。如果需要定制这些操作的行为,可以在视图集中重写对应的方法。例如,在 BookViewSet
中,我们可以定制 create()
方法,以便在创建新书籍时自动将当前用户设置为书籍的作者:
class BookViewSet(viewsets.ModelViewSet): queryset = Book.objects.all() serializer_class = BookSerializer def perform_create(self, serializer): serializer.save(author=self.request.user)
在这个例子中,我们在 BookViewSet
中重写了 perform_create()
方法,该方法会在创建新书籍时被调用。我们使用 self.request.user
获取当前请求的用户,并将其设置为新书籍的作者。
另一个例子是定制 list()
方法,以便在获取书籍列表时只返回当前用户的书籍:
class BookViewSet(viewsets.ModelViewSet): serializer_class = BookSerializer def get_queryset(self): user = self.request.user return Book.objects.filter(author=user)
在这个例子中,我们在 BookViewSet
中重写了 get_queryset()
方法,该方法会在获取书籍列表时被调用。我们使用 self.request.user
获取当前请求的用户,并将其用于过滤书籍列表,只返回当前用户的书籍。
视图集类型
DRF 中提供了多种视图集类型,可以根据不同的需求选择合适的视图集类型。以下是几种常见的视图集类型:
ModelViewSet
: 提供了默认的 CRUD 操作,以及一些其他常见操作(例如过滤、分页、搜索等)。ReadOnlyModelViewSet
: 提供了默认的读取操作,但不支持创建、更新和删除操作。GenericViewSet
: 提供了多种操作,例如列表、创建、获取详情、更新、部分更新和删除等。ViewSet
: 不提供任何操作,需要手动在子类中定义操作方法。视图集类型的选择取决于 API 的需求和开发人员的编写习惯。
标签:
精彩推送
[快讯]天润科技:第三次中标香港数字孪生三维城市建模项目 助力香港智慧城市建设
近日,天润科技收到中国香港新界西三维数码地图项目中标通知,主要内容包括城市三维建模和数据发布平台开发
来源:2023.04.27
华润苏州园区湖西地块拟建13幢大平层 预计今年7月入市
观点网讯。4月27日,华润苏州园区湖西地块规划公示出炉,项目拟建13幢17-24F的高层和2幢1-2F的配套用房,小
来源:2023.04.27
新闻快讯
X 关闭
X 关闭
新闻快讯
- Django REST Framework-如何使用视图集(三)|环球今热点
- 焦点热文:2景区被通报!终止!闭门整改!
- 环球通讯!大学生劳动助农度假日
- 当前焦点!五一假期怎么玩?来体验非遗手艺 感受民间艺术魅力
- 速递!2023MSI战队巡礼上篇:最年轻战队BLG,越南霸主GAM
- 五一国际劳动节|每一个你,都了不起!_世界播资讯
- 【环球新要闻】220v12kw用多大的电线_12kw用多大的电线
- 铁狮子头丸子正宗做法_铁狮子头
- 劳动节中东部多地升温至30℃ 明起较强降雨将至
- 世界最新:时速1000公里的超级高铁要来了?别误读
- 三星:美国将收集半导体业界意见 以完善《芯片法案》补贴计划
- 世界观焦点:姓支怎么念 支姓的简介
- DNF2021奶妈装备搭配(奶妈2021最强毕业装备推荐)|环球微动态
- 叙利亚总统会见中国特使:欢迎中方在维护地区和平稳定方面发挥更大作用
- 黄河壶口瀑布外建围墙,游客吐槽称防“偷窥”,沿线多地回应|当前观点
- 今日精选:挑战豪华品牌,蔚来ET5和奔驰C级,一个智能,一个豪华,怎么选?
- 玉石翡翠的鉴别方法_鉴别玉石的简单方法
- 怎么无线连接打印机到笔记本电脑上_如何连接打印机到笔记本电脑
- 云南勐绿高速建设者坚守岗位奋战建设
- 长白十五道沟风景区自驾游(吉林长白十五道沟景区)_当前短讯
- 环球滚动:大侠立志传玉莲花怎么得
- 新华全媒+丨“五一”假期来临 牢记这些出行健康提示
- “全球最美精灵”近况曝光:45岁离婚生三胎,她怎么还那么可爱? 环球今日讯
- how to keep healthy英语作文80字_世界今亮点
- 观点:企业用算力光谷给补贴 最高100万元
- 《惊天救援》中的女性角色:韩雪与张虹老师适配满分
- 可踏面高度_可踏面|播报
- (体育)WTT球星挑战赛曼谷站:林高远、陈幸同收获三冠
- 热资讯!2022年事业单位退休金计算方法_事业单位退休金计算方法
- 解决问题最高明的方法:打开自己_焦点简讯
- 揭秘|北京地铁7号线首次“通宵”背后的不眠夜……|热闻
- 0031是哪个国家的区号_0031
- 新动态:全球最大集装箱船从江苏泰兴拖至太仓舾装试航
- 华大与波兰雅盖隆大学开展合作
- 硫磺有什么功效作用(硫磺有什么功效作用与主治)
- 以科技创新提高金融服务实体经济能力
- 天天热讯:把车机当手机做的汽车厂商,终究是没逃过用户的“暴击”
- 十多部新片齐聚“五一”档,《长空之王》票房强势领跑
- 大航海探险物语怪物分布图分享 大航海探险物语怪物分布位置详细介绍|环球新要闻
- 沈白高铁建设持续推进 预计2025年建成
- 当前滚动:甘肃酒泉市发生车辆碰撞事故已致6人死亡12人受伤
- 昆仑乐享年年终身护理保险怎么样?怎么买?
- 应用宝如何设置自动安装 应用宝如何设置自动安装最新版2022-每日动态
- 2023年河南高考能填几个志愿和几个专业-环球热点
- 激活数据要素更大价值 世界热资讯
- 露营烧烤、特惠房源、车位优惠……房企花式营销催热“五一” 每日热点
- PHP面向对象-多态的实现(一)
- 动态:4月28日基金净值:兴全精选混合最新净值2.651,涨1.21%
- 菠菜怎么处理(菠菜怎么处理干净)
- PHP面向对象-命名空间的嵌套和别名