Serializer fields

1.导入

from rest_framework import serializers

field参数

1.read_only

read_only=True 表示不允许用户自己上传,只能用于api的输出,序列化的时候也不用对这个数据进行验证,序列化返回是有改字段

2.write_only

write_only=True 表示在更新或创建实例时可以使用该字段,但在序列化返回时不包括该字段。

3.required

required=True 反序列化(前端返回数据必须包含此字段)的时候必须提供这个字段    设置False 可以不提供

4.allow_null

allow_null=True 可以为null    设置False则不能为null

5.allow_blank

allow_blank=True 可以为空    设置False则不能为空

6.default

default 设置默认值

7.source

source='user.email'(user表的email字段的值给这值)  设置字段值  类似default   通常这个值有外键关联属性可以用source设置

8.validators

验证该字段跟  单独的validate很像

UniqueValidator 单独唯一

validators=[UniqueValidator(queryset=UserProfile.objects.all())

UniqueTogetherValidator: 多字段联合唯一,这个时候就不能单独作用于某个字段,我们在Meta中设置。

validators = [UniqueTogetherValidator(queryset=UserFav.objects.all(),fields=('user', 'course'),message='已经收藏')]

9.error_messages

错误消息提示

error_messages={
"min_value": "商品数量不能小于一",
"required": "请选择购买数量"
})

10.label

一个简单的文本字符串,用于HTML表单或者其他描述的元素中字段名称

 

11.help_text

一个文本字符串,可用作HTML表单字段或其他描述性元素中字段的描述。

12.style

键值对的字典,可用于控制渲染改字段

style={'input_type': 'password'}

 

13.max_length

最大长度

14.min_length

最小长度

原文地址:https://www.cnblogs.com/yoyo1216/p/10615226.html