Pydantic 在模型验证后向模型添加字段(向传入模型添加字段)
Pydantic add field to model after a model validation (add filed to incoming model)
我有一个传入的 pydantic 用户模型。
要在验证后添加字段,我将其转换为字典并添加一个字段,就像普通字典一样。
user = employee.dict()
user.update({'invited_by': 'some_id'})
db.save(user)
有没有更简洁的方法来添加字段?因为即使对我自己来说也不是那么清楚,每次我遇到这段代码(我自己写的)我都在想“为什么我要将模型转换为单独的字典 instruction/line 如果我可以在 save
函数 (db.save(user)
)
如果您有权访问模型定义,则可以在模型中允许额外字段 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
我有一个传入的 pydantic 用户模型。 要在验证后添加字段,我将其转换为字典并添加一个字段,就像普通字典一样。
user = employee.dict()
user.update({'invited_by': 'some_id'})
db.save(user)
有没有更简洁的方法来添加字段?因为即使对我自己来说也不是那么清楚,每次我遇到这段代码(我自己写的)我都在想“为什么我要将模型转换为单独的字典 instruction/line 如果我可以在 save
函数 (db.save(user)
)
如果您有权访问模型定义,则可以在模型中允许额外字段 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