反序列化使用
验证
利用之前的模型类进行验证,
>>> from booktest.models import BookInfo,HeroInfo
>>> from booktest.serializers import BookInfoSerializer
>>> from booktest.serializers import HeroInfoSerializer
>>> data = {'bpub_date':123}
>>> s = BookInfoSerializer(data= data)
>>> s.is_valid()
False
>>> s.errors
{'btitle': [ErrorDetail(string='This field is required.', code='required')], 'bpub_date': [ErrorDetail(string='Date has wrong format. Use one of these formats instead: YYYY[-MM[-DD]].', code='invalid')]}
>>> s.validated_data
{}
构造序列化器对象,并将要反序列化的数据传给data构造成参数,进行验证
使用序列化器进行反序列化时,需要对数据进行验证,才能获取验证成功的数据或者保存的模型类的对象
在获取反序列化的数据前,必须调用is_valid()方法进行验证,验证成返回True,失败返回False
验证失败之后,通过序列化器对象的errors属性获取错误信息,返回字典,包含错误的字段和字段的错误信息.如果是非字段错误,可以通过修改REST framework配置中的