序列化器基本参数
序列化器的创建: 通过data传入字典数据
Serializer(instance=None, data=empty, **kwarg)
通过is_valid方法校验参数合法性
is_valid()
方法:
校验参数是否合法,校验通过返回True,否则返回False
传递参数:is_valid(raise_exception=True)
验证失败时会抛出异常serializers.ValidationError
响应时对应的状态码:400
errors属性: 获取校验出错信息,字典类型。
validated_data属性: 校验通过得到的对象,类型为OrderedDict
案例
案例一:验证出错
my_dict = {'create_date':'2018'}
serializer = DepartmentSerializer(data=my_dict)
serializer.is_valid() # 验证不通过
# False
serializer.errors
# {'create_date': [ErrorDetail(string='Date has wrong format.
# Use one of these formats instead: YYYY[-MM[-DD]].', code='invalid')],
# 'name': [ErrorDetail(string='This field is required.', code='required')]}
案例二:验证通过
my_dict = {'name':'研发部33', 'create_date':'2018-1-1'}
serializer = DepartmentSerializer(data=my_dict)
serializer.is_valid() # 验证通过
# True
serializer.validated_data
# OrderedDict([('name', '研发部33'),
# ('create_date', datetime.date(2018, 1, 1))])