如何在pydantic中使用类的一个类属性作为另一个类的类型?


from pydantic import BaseModel
from typing import Optional
class A(BaseModel):
a: int
b: Optional[str]
c: bool = False
class B(BaseModel):
a: str
b: Optional[str]
c:  #I want to add the attribute "c" from class A as a type here 

如何使用属性"c"从A类到B类?

我猜你想从A子类如下(覆盖类型注释在A如果需要):

from pydantic import BaseModel
from typing import Optional

class A(BaseModel):
a: int
b: Optional[str]
c: bool = False
class B(A, BaseModel):
a: str

print(B(a=123, c=True))
# a='123' b=None c=True

你应该试试这个:

from pydantic import BaseModel
from typing import Optional, List
class A(BaseModel):
a: int
b: Optional[str]
c: bool = False
class B(BaseModel):
a: str
b: Optional[str]
c: List(A)

最新更新