serializer.is_valid()方法经历了什么?


serializer.is_valid()方法经历了什么?

  • Serializer类
    • 继承BaseSerializer类

      • is_valid()方法,做了两件事,一个把验证过的数据赋值给validated_data属性,一个返回布尔值判断数据是否验证通过
        • 调用Serializer类中run_validation()方法,其中self.initial_data就是浏览器发送过来的原始数据

      screenshot_2.png

    • run_validation()方法

      • 主要有三个方法,to_internal_value()方法,run_validators()方法,validate()方法

      screenshot_5.png

      • 调用Serializer类中to_internal_value()方法,目的是将原始数据转换成Django中的字典类型
        • 验证原始的数据
        • 通过自定义方法验证fields中每个字段值,方法命名规则'validate_'+field_name

      screenshot_1.png

      • 调用Serializer类中run_validators()方法,验证每个字段值

      screenshot_3.png

      • 调用Serializer类中validate()方法, 目的是返回经过校验的数据,没有做任何处理,可以自定义

      screenshot_4.png


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM