【发布时间】:2015-09-02 14:51:00
【问题描述】:
我有一个 SQLAlchemy 模型实例,其中包含待处理的新值 commit() 以将它们写入数据库。如何在不发出 rollback() 的情况下检查数据库中的旧值?
【问题讨论】:
标签: python sqlalchemy
我有一个 SQLAlchemy 模型实例,其中包含待处理的新值 commit() 以将它们写入数据库。如何在不发出 rollback() 的情况下检查数据库中的旧值?
【问题讨论】:
标签: python sqlalchemy
您可以使用检查 api 获取每个 SQLAlchemy 映射属性的历史记录。有关可用信息,请参阅the docs on History。
import sqlalchemy as sa
old = {}
for attr in sa.inspect(item).attrs:
if attr.history.has_changes():
old[attr.key] = attr.history.deleted
【讨论】: