我在不同的文件中有两个不同的pydantic BaseModel类。在X.py中,我有:
from pydantic import BaseModel
class somefirst(BaseModel):
flag: bool = False
在Y.py我有:
from pydantic import BaseModel
class somesecond(BaseModel):
flagvalue: bool = False
我想在Y.py中做的是:
from pydantic import BaseModel
from X import somefirst
class somesecond(BaseModel):
flagvalue: somefirst.flag
我得到AttributeError说类型obj somefirst没有属性"标志">
有谁能帮我一下吗?属性在创建类的对象时初始化。所以你可以这样做:
from pydantic import BaseModel
class somefirst(BaseModel):
flag: bool = False
class somesecond(BaseModel):
flagvalue: somefirst().flag
但是真的需要在somesecond
中更改属性的名称吗?如果您想通过另一个模型的属性来扩展一个模型,我建议使用继承:
from pydantic import BaseModel
class SomeFirst(BaseModel):
flag: bool = False
class SomeSecond(SomeFirst):
pass
second = SomeSecond()
print(second.flag) # output: False