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