标签:None False min max 30 length 序列化 Serializer
# 作用: 序列化器可以进行数据的校验, 对数据对象进行转换
# Django REST framework中的序列化使用类来定义,须继承自rest_framework.serializers.Serializer
# Serializer(instance=None, data=empty, **kwarg)
用于序列化时,将模型类对象传入instance参数
用于反序列化时,将要被反序列化的数据传入data参数
序列器字段类型及选项
# 常用字段类型:
# 字段 # 字段构造方式
BooleanField: BooleanField()
NullBooleanField: NullBooleanField()
CharField: CharField(max_length=None, min_length=None, allow_blank=False, trim_whitespace=True)
EmailField: EmailField(max_length=None, min_length=None, allow_blank=False)
RegexField: RegexField(regex, max_length=None, min_length=None, allow_blank=False)
SlugField: SlugField(maxlength=50, min_length=None, allow_blank=False)正则字段,验证正则模式 [a-zA-Z0-9-]+
URLField: URLField(max_length=200, min_length=None, allow_blank=False)
UUIDField: UUIDField(format='hex_verbose')
format:
1) 'hex_verbose' 如"5ce0e9a5-5ffa-654b-cee0-1238041fb31a"
2) 'hex' 如 "5ce0e9a55ffa654bcee01238041fb31a"
3)'int' - 如: "123456789012312313134124512351145145114"
4)'urn' 如: "urn:uuid:5ce0e9a5-5ffa-654b-cee0-1238041fb31a"
IPAddressField: IPAddressField(protocol='both', unpack_ipv4=False, **options)
IntegerField: IntegerField(max_value=None, min_value=None)
FloatField: FloatField(max_value=None, min_value=None)
DecimalField: DecimalField(max_digits, decimal_places, coerce_to_string=None, max_value=None, min_value=None)
max_digits: 最多位数
decimal_palces: 小数点位置
DateTimeField: DateTimeField(format=api_settings.DATETIME_FORMAT, input_formats=None)
DateField: DateField(format=api_settings.DATE_FORMAT, input_formats=None)
TimeField: TimeField(format=api_settings.TIME_FORMAT, input_formats=None)
DurationField: DurationField()
ChoiceField: ChoiceField(choices) ;choices与Django的用法相同
MultipleChoiceField: MultipleChoiceField(choices)
FileField: FileField(max_length=None, allow_empty_file=False, use_url=UPLOADED_FILES_USE_URL)
ImageField: ImageField(max_length=None, allow_empty_file=False, use_url=UPLOADED_FILES_USE_URL)
ListField: ListField(child=, min_length=None, max_length=None)
DictField: DictField(child=)
选项参数:
参数 |
注释 |
max_length |
最大长度 |
min_length |
最小长度 |
allow_blank |
是否允许为空 |
trim_whitespace |
是否截断空白字符 |
max_value |
最小值 |
min_value |
最大值 |
通用参数:
参数 |
注释 |
read_only |
表明该字段仅用于序列化输出,默认False |
write_only |
表明该字段仅用于反序列化输入,默认False |
required |
表明该字段在反序列化时必须输入,默认True |
default |
反序列化时使用的默认值 |
allow_null |
表明该字段是否允许传入None,默认False |
validators |
该字段使用的验证器 |
error_messages |
包含错误编号与错误信息的字典 |
label |
用于HTML展示API页面时,显示的字段名称 |
help_text |
用于HTML展示API页面时,显示的字段帮助提示信息 |
标签:None,
False,
min,
max,
30,
length,
序列化,
Serializer
From: https://www.cnblogs.com/kh-1314/p/17146294.html