Всем привет! Подскажите паттерны решения следующей задачи. Имеется класс алхимический MyModelSql, при реализации бизнес алгоритма работу веду с соответствующей классом MyModelDto, потом для сохранения в БД конвертирую dto-объект в sql-объект, ну и наборот - при чтении из бд.
Что не нравится - поддерживание двух классов при изменениях и тупое перенабитие полей.
Имеется класс алхимии
Base = declarative_base()
class MyModelSql(Base):
__tablename__ = 'my_model_table'
id = Column(Integer, primary_key=True)
create_date = Column(Date)
user_id = Column(String)
...
class MyModelDto:
create_date: datetime.date
user_id: str
# ...
id: int = None
@classmethod
def to_sql(self) -> MyModelSql:
return MyModelSql(
# хоть здесь можно-то тупо не перечислять все поля?:
id = self.id,
create_date = self.create_date
user_id = self.user_id,
# ...
)