中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

赣州市| 苍溪县| 内丘县| 隆回县| 承德县| 那曲县| 千阳县| 建湖县| 灵山县| 阿克陶县| 石林| 镇江市| 平塘县| 肇源县| 华容县| 葵青区| 屏山县| 社会| 龙海市| 巧家县| 富平县| 塘沽区| 南开区| 远安县| 济南市| 商城县| 射阳县| 星座| 湟源县| 滦平县| 方山县| 山丹县| 来宾市| 鄂托克前旗| 喀喇| 丹寨县| 星子县| 望奎县| 柞水县| 井冈山市| 个旧市|