fastapi二:資料模型與驗證-pydantic
阿新 • • 發佈:2021-07-25
pydantic官網:https://pydantic-docs.helpmanual.io/
Pydantic 是一個用來用來執行資料校驗的 Python 庫。
可以將資料的"結構"宣告為具有屬性的類,然後每個屬性都擁有型別。
接著用一些值來建立這個類的例項,這些值會被校驗,並被轉換為適當的型別(在需要的情況下),返回一個包含所有資料的物件。
一:安裝和原始碼
1.1、安裝:pip installpydantic
1.2、用 pydantic 做資料模型,所有的資料模型都是繼承BaseModel的,先看一下BaseModel類下面都有什麼
由此可見,只要繼承了BaseModel的類,就會有轉字典、轉json、淺拷貝、自定義欄位校驗···
二:使用pydantic
2.1、宣告模型
2.2、例項化模型
2.2.1、python解包的形式例項化
2.2.2、用 BaseModel 自帶的 parse_obj 方法解析字典
2.2.3、用 BaseModel 自帶的 parse_row 方法解析josn字串
2.2.4、用 BaseModel 自帶的 parse_file 方法解析檔案
2.2.5、construct:只例項化模型,不做校驗
三、異常處理
如果輸入資料不滿足資料模型規則則會報錯
由上可見,當資料不滿足模型時,會丟擲一個 ValidationError ,那麼我們可以捕獲這個異常(此異常可以轉為son),並且丟擲自定義的異常
四、遞迴模型(在其他模型的某一個欄位中,巢狀某一個模型)
五、pydantic 模型與 SQLAlchemy 模型結合,驗證orm物件
六、PyCharm 安裝 pydantic 程式碼檢查外掛
討論群:249728408