【发布时间】:2015-12-01 13:58:15
【问题描述】:
我在 SQLAlchemy 模型类中使用 updated_at,例如,
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()。它只是更新了字典中的更改数据。
所以我像这样更改了我的代码。
row = session.query(SomeClass).get(data['id'])
row.some_column = data['some_column']
session.flush()
然后更新updated_at 列! merge() 和直接分配有什么区别?
【问题讨论】:
标签: python sqlalchemy