我有一个传入的 pydantic User 模型。 要在验证后添加字段,我将其转换为 dict 并添加一个类似于常规 dict 的字段。
user = employee.dict()
user.update({'invited_by': 'some_id'})
db.save(user)
是否有更短、最干净的添加字段的方法?因为即使对我自己来说也不是很清楚,每次我遇到这段代码(由我自己编写)时,我都在想“如果我可以在 save
函数中完成,我为什么要将模型转换为 dict 作为单独的指令/行(db.save(user)
)
答案 0 :(得分:0)
如果您有权访问模型定义,则可以允许模型 Config 中的额外字段。
import pydantic
from pydantic import Extra
class A(pydantic.BaseModel):
a: str = "qwer"
class Config:
extra = Extra.allow
a = A()
a.b = 1234
print(a) # a = 'qwer' b = 1234