這篇“pydantic怎么去掉未傳值的字段”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“pydantic怎么去掉未傳值的字段”文章吧。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供芒康網(wǎng)站建設(shè)、芒康做網(wǎng)站、芒康網(wǎng)站設(shè)計(jì)、芒康網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、芒康企業(yè)網(wǎng)站模板建站服務(wù),十多年芒康做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
使用 pydantic 定義數(shù)據(jù)模型,有些非必填的字段,我們希望在實(shí)例化時(shí)未傳值的字段去掉,這樣可以取值一些為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}
得到的結(jié)果, 沒有傳的字段會給到默認(rèn)值
{'name': 'yoyo', 'tel': '10086', 'age': None, 'address': None}
可以通過 skip_defaults=True
參數(shù)跳過默認(rèn)的設(shè)置項(xiàng)
print(user.dict(skip_defaults=True))
得到結(jié)果會有個(gè)警告:"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" 方法已經(jīng)被 "exclude_unset" 替代了
print(user.dict(exclude_unset=True))
運(yùn)行結(jié)果
{'name': 'yoyo', 'tel': '10086'}
這樣就去掉了默認(rèn)值為None的了。
以上就是關(guān)于“pydantic怎么去掉未傳值的字段”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前標(biāo)題:pydantic怎么去掉未傳值的字段
分享路徑:http://chinadenli.net/article20/ppipjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、響應(yīng)式網(wǎng)站、搜索引擎優(yōu)化、定制開發(fā)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)