为什么在子类化Pydantic BaseModel时,我会得到"AttributeError: __fields_set__"的错误提示?

6 浏览
0 Comments

为什么在子类化Pydantic BaseModel时,我会得到"AttributeError: __fields_set__"的错误提示?

我有一个项目,其中我的基类和子类都实现了pydantic.BaseModel:

from pydantic import BaseModel
from typing import List
from dataclasses import dataclass
@dataclass
class User(BaseModel):
    id: int 
@dataclass
class FavoriteCar(User):
    car_names: List[str] 
car = FavoriteCar(id=1, car_names=["Acura"])
print(f"{car.id} {car.car_names[0]}")

但是出现了以下错误:

self.__fields_set__.add(name)

E AttributeError: __fields_set__

有人可以解释一下发生了什么吗?我想使用pydantic的原因是因为我需要一种快速将Python对象转换为dict(或JSON)并进行反向转换的方法。

0