Я использую updated_at
в SQLAlchemy модели класса, как,SQLAlchemy OnUpdate не работает с session.merge()
updated_at = Column(DateTime(timezone=True), nullable=False, default=now, onupdate=now)
и я обновил ряд этого класса с session.merge()
row = SomeClass(**data)
session.merge(row)
session.flush()
затем я вижу журналы, updated_at
не обновляется до now()
. он просто обновил только измененные данные в dict.
поэтому я изменил свой код следующим образом.
row = session.query(SomeClass).get(data['id'])
row.some_column = data['some_column']
session.flush()
после этого колонка updated_at
обновляется !! в чем разница между merge()
и прямым назначением?