У меня есть этот проект, в котором мой базовый класс и мои подклассы реализуют 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) и обратно.
FavoriteCar
, аdataclass
иBaseModel
каким-то образом конфликтуют. - person chepner   schedule 11.02.2020