0.read_only:True表示不允许用户自己上传,
只能用于api的输出,
如果某个字段设置了read_only=True,
那么就不需要进行数据验证,
只会在返回时,将这个字段序列化后返回
1.write_only:就是用户post过来的数据,
后台服务器处理后不会再经过序列化后返回给客户端,
我们在使用手机注册的验证码和填写的密码。
2.required: 顾名思义,就是这个字段是否必填 。用户名,密码等是必须填写的;不填写就直接报错
3.allow_null/allow_blank:是否允许为NULL/空 。
4.error_messages:出错时,信息提示。
5.label: 字段显示设置,如 label=’验证码’
6.help_text: 在指定字段增加一些提示文字,这两个字段作用于api页面比较有用
7.style: 说明字段的类型
# 在api页面,输入密码就会以*显示
password = serializers.CharField( style={'input_type': 'password'})
# 会显示选项框
color_channel = serializers.ChoiceField(choices=['red', 'green', 'blue'],
style={'base_template': 'radio.html'})
8.read_only:True表示不允许用户自己上传,只能用于api的输出。
如果某个字段设置了read_only=True,那么就不需要进行数据验证,
只会在返回时,将这个字段序列化后返回
举个简单的例子:在用户进行购物的时候,
用户post订单时,肯定会产生一个订单号,
而这个订单号应该由后台逻辑完成,
而不应该由用户post过来,如果不设置read_only=True,
那么验证的时候就会报错。再例如,我们在网上购物时,
支付时通常会产生支付状态,交易号,订单号,支付时间等字段,
这些字段都应该设置为read_only=True,
即这些字段都应该由后台产生然后返回给客户端
网友评论