django-drf read_only 和write_only区别

在谈论前,先说一下序列化和反序列化,这两个概念最初是在学习json的时候提出来的

序列化就是将对象转化方便传输和存储字节序列,例如json.dumps就是序列化(狭义的序列化,将字典转化为json字符串),这样得到的json字符串不仅直接可以在其他语言使用(跨平台比较好),而且可以在前后端进行传输交互(drf序列化器)

反序列化恰恰相反,而是将字节序列转化为对象,json.loads是将json字符串转化为字典,是狭义的反序列化(因为在python, 一切皆对象,字典是dict( )),而在项目中,前端传过来的序列化数据通过反序列化得到对象,进一步可以通过ORM操作,存入数据库。

read_only(不会存入数据库)
        表明该字段仅用于序列化输出,默认False

        只显示不写入,默认False, read_only取值的时候显示,存值的时候为空

        例如定义序列化器时,id字段通常指定read_only=True

write_only(会存入数据库)
        表明该字段仅用于反序列化输入,默认False
        write_only存值的时候必须存,取值的时候不显示

        例如定义序列化器时,password字段(还有短信验证码等)通常指定write_only=True
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值