from dataclasses import dataclass, field import itertools from data_models.workpiece import Workpiece @dataclass class Crate: id: int = field(default_factory=itertools.count().__next__, init=False) # autogen ids on creation workpiece: Workpiece | None = None def to_dict(self) -> dict: return { "id": self.id, "workpiece": self.workpiece.to_dict() if self.workpiece else None }