91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pydantic怎么去掉未傳值的字段

發布時間:2022-12-05 16:45:58 來源:億速云 閱讀:165 作者:iii 欄目:編程語言

這篇“pydantic怎么去掉未傳值的字段”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“pydantic怎么去掉未傳值的字段”文章吧。

前言

使用 pydantic 定義數據模型,有些非必填的字段,我們希望在實例化時未傳值的字段去掉,這樣可以取值一些為None的字段。

遇到問題

age 和 address 是非必填字段

class User(BaseModel):
    name: str = ...
    tel: str = ...
    age: int = Field(None,)
    address: str = Field(None)


user = User(
    name='yoyo',
    tel='10086'
)
print(user.dict()) # {'name': 'yoyo', 'tel': '10086', 'age': None, 'address': None}

得到的結果, 沒有傳的字段會給到默認值

{'name': 'yoyo', 'tel': '10086', 'age': None, 'address': None}

exclude_unset去掉默認字段

可以通過 skip_defaults=True 參數跳過默認的設置項

print(user.dict(skip_defaults=True))

得到結果會有個警告:"skip_defaults" is deprecated and replaced by "exclude_unset"

DeprecationWarning: User.dict(): "skip_defaults" is deprecated and replaced by "exclude_unset"
  print(user.dict(skip_defaults=True)) # {'name': 'yoyo', 'tel': '10086', 'age': None, 'address': None}

{'name': 'yoyo', 'tel': '10086'}

"skip_defaults" 方法已經被 "exclude_unset" 替代了

print(user.dict(exclude_unset=True))

運行結果

{'name': 'yoyo', 'tel': '10086'}

這樣就去掉了默認值為None的了。

以上就是關于“pydantic怎么去掉未傳值的字段”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建水县| 神农架林区| 新昌县| 新津县| 扎囊县| 龙门县| 奈曼旗| 开远市| 台东县| 商都县| 长岛县| 湖北省| 永福县| 石棉县| 广河县| 新竹县| 镇巴县| 且末县| 永胜县| 昭苏县| 昭觉县| 荆州市| 天台县| 内丘县| 临沧市| 桐庐县| 青龙| 松潘县| 凤台县| 苏尼特右旗| 鄂托克旗| 鄂伦春自治旗| 平和县| 麻江县| 义乌市| 库车县| 辽源市| 通江县| 兰州市| 江永县| 子长县|