首页 > 解决方案 > Pydantic 在模型验证后向模型添加字段(向传入模型添加字段)

问题描述

我有一个传入的 pydantic User 模型。要在验证后添加字段,我将其转换为 dict 并添加一个类似于常规 dict 的字段。

user = employee.dict()
user.update({'invited_by': 'some_id'})
db.save(user)

有没有一种更简洁、更简洁的方式来添加一个字段?因为即使对我自己来说也不是很清楚,每次我遇到这段代码(我自己写的)我都在想“如果我可以在save函数(db.save(user)

标签: pythonpydantic

解决方案


如果您有权访问模型定义,则可以在模型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


推荐阅读