我正在使用FastAPI构建REST API,非常喜欢这个工具,特别是它与Pydantic和OpenAPI的集成。
例如,我可以编写一个端点所需的模型,如下所示:
class Model(BaseModel):
field1: str = Field(default=...)
field2: int = Field(default=...)
field3: List[int] = Field(default=...)
field4: float = Field(default=...)
class Config:
schema_extra = {
"example": {
'field1': 'example 1',
'field2': 1,
'field3': [1, 2],
'field4': 1.3,
}
}
我发现我的代码存在许多重复,例如如果我想创建另一个从Model
继承的类来添加另一个字段field5
,我需要重新编写Config
类以便定义新的示例。
有没有一种好的方法可以解决这个问题?例如,是否有任何工具允许您定义所有属性和示例的字段,然后从它所需的定义中创建Model
类?
或者任何其他更适合此情况的模式也是受欢迎的。
Model3
) @GZZ --> 不幸的是,在创建继承多个模型的 pydantic 模型时,这似乎是一个挑战。可能与菱形继承冲突有关。 - Yaakov Bressler