序列化器基本參數
序列化器的創建: 通過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))])