我正在尝试将 pydantic 与如下所示的模式一起使用:
class Base(BaseModel, ABC):
common: int
class Child1(Base):
child1: int
class Child2(Base):
child2: int
class Response(BaseModel):
events: List[Base]
events = [{'common':1, 'child1': 10}, {'common': 2, 'child2': 20}]
resp = Response(events=events)
resp.events
#Out[49]: [<Base common=10>, <Base common=3>]
它只占用了 Base 类的字段,而忽略了其余部分。如何使用 pydantic 进行这种继承?我希望事件是子类的实例列表Base