您的位置 首页 > 腾讯云社区

第一季 | serializers 还有哪些操作没试过---小团子

第一季 | 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

上下文

self.context['request'] ---来自腾讯云社区的---小团子

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: