前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第一季 | serializers 还有哪些操作没试过

第一季 | serializers 还有哪些操作没试过

作者头像
小团子
发布2020-04-12 19:51:29
1.2K0
发布2020-04-12 19:51:29
举报
文章被收录于专栏:数据云团数据云团

第一季 | UpdateModelMixin 了解下,实现用户信息修改

Django REST框架构建Web API。Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

如何在 serializers 中获取登录用户?

采用上下文

在 views 视图中使用 mixins 时,post 请求的 create 方法,patch 请求的 update 方法,都会在对应的 mixins 特定类中执行 serializer.save()。它会调用 serializer 的 create 或 update 方法。

执行顺序,在 serializers.py 中重写 create 方法或 update 方法,views.py 继承 CreateModelMixin,post 请求会获取相关 serializer 进行数据验证;保存实例 serializer.save(),调用 serializer.create(),执行 create 逻辑,再保存 instance.save() 返回实例。

再来看下第一季都有哪些可以回顾和用得上的小技能

验证

1. Validation自定义验证逻辑

只能验证一个字段

2. 联合 validate 对象级验证

两个字段联合在一起验证,可以重写 validate() 方法

3. Validators 验证器

Validators 可以直接作用于某个字段

ModelSerializer

自动产生基于模型的 fields

自动产生验证器,比如 unique_together 验证器

默认包含 create 和 update 方法,外键被映射为 PrimaryKeyRelatedField

上下文

代码语言:javascript
复制
self.context['request']
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Validation自定义验证逻辑
  • 只能验证一个字段
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档