1. 程式人生 > 其它 >fastapi二:資料模型與驗證-pydantic

fastapi二:資料模型與驗證-pydantic

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