from dataclasses import dataclass from models.base import BaseModel @dataclass class Image(BaseModel): type: int extension: str permanent: bool = False @classmethod def from_dict(cls, d: dict): obj = cls( type=d.get('type'), extension=d.get('extension'), permanent=d.get('permanent', False) ) return cls._apply_base_fields(obj, d) def to_dict(self): base = super().to_dict() base.update({ 'type': self.type, 'permanent': self.permanent, 'extension': self.extension }) return base