如何在 pydantic 模型中使用保留关键字
How to use a reserved keyword in pydantic model
我需要创建一个架构,但它有一个名为 global 的列,当我尝试编写此列时,出现错误。
class User(BaseModel):
id:int
global:bool
我尝试使用其他名称,但在尝试保存到数据库时出现另一个错误。
您似乎在使用 pydantic 模块。你不能使用名称 global 因为它是一个保留关键字所以你需要使用这个技巧来转换它。
class User(BaseModel):
id: int
global_: bool
class Config:
fields = {
'global_': 'global'
}
或
class User(BaseModel):
id: int
global_: bool = Field(..., alias='global')
要创建 class 你必须使用字典(因为 User(id=1, global=False)
也会抛出一个错误:
user = User(**{'id': 1, 'global': False})
要获取正确架构中的数据,请使用 by_alias:
user.dict(by_alias=True)
我需要创建一个架构,但它有一个名为 global 的列,当我尝试编写此列时,出现错误。
class User(BaseModel):
id:int
global:bool
我尝试使用其他名称,但在尝试保存到数据库时出现另一个错误。
您似乎在使用 pydantic 模块。你不能使用名称 global 因为它是一个保留关键字所以你需要使用这个技巧来转换它。
class User(BaseModel):
id: int
global_: bool
class Config:
fields = {
'global_': 'global'
}
或
class User(BaseModel):
id: int
global_: bool = Field(..., alias='global')
要创建 class 你必须使用字典(因为 User(id=1, global=False)
也会抛出一个错误:
user = User(**{'id': 1, 'global': False})
要获取正确架构中的数据,请使用 by_alias:
user.dict(by_alias=True)