反序列化基本參數校驗

序列化器基本參數

序列化器的創建: 通過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))])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章