Pydantic 属性错误:对象没有属性'__fields_set__'


from pydantic import BaseModel
class A(BaseModel):
date = ''
class B(A):
person: float
def __init__(self):
self.person = 0

B()

尝试初始化类B,但引发错误AttributeError: 'B'对象没有属性'fields_set"为什么呢?">

这是因为您覆盖了__init__,而没有在那里调用super,因此Pydantic无法通过设置适当的字段来实现它的魔力。

使用pydantic,你很少需要实现你的__init__,大多数情况下可以用不同的方式解决:

from pydantic import BaseModel
class A(BaseModel):
date = ""
class B(A):
person: float = 0
B()