如何在FastAPI中为Pydantic的嵌套BaseModel分配标签
在我的fastapi应用中,我有一个叫做'Invoice'的pydantic基础模型。它里面有一个字段'taxes_list',这个字段其实就是一个TaxModel的列表。当我查看生成的文档时,我发现'taxes_list'并没有显示出它是一个TaxModel的列表。在下面的图片中,你可以看到税务列表是一个对象数组,而这个列表中每个项目的标签都是“Items”,而不是“TaxModel”。有没有办法把“items”这个词换成模型的名字?或者至少能不能给出一些提示,说明'taxes_list'是一个TaxModel的列表呢?
这是我的代码:
class Invoice(BaseModel):
taxes_list: Optional[Annotated[list[TaxModel], Field(title="Taxes List",
description="""TODO Se debe poner una descripcion AKI""")]] = None
class TaxModel(BaseModel):
""" Tax description"""
base: Decimal = Field(...,
title="Base",
examples={
1500.00,
300.600000
},
decimal_places=6,
gt=0)
importe: Decimal = Field(...,
title="Importe",
examples={
240.00,
0.00
},
decimal_places=6,
ge=0)
impuesto: ImpuestoEnum = Field(title="Impuesto",
max_length=3,
examples=[
"002",
"001",
])
tipo_factor: TipoFactorEnum = Field(title="Tipo Factor",
examples=[
"Tasa",
"Cuota",
])
tasa_o_cuota: Decimal = Field(...,
title="Tasa o Cuota",
examples={
0.160000,
0.200000
},
decimal_places=6,
ge=0)
0 个回答
暂无回答