【问题标题】:Get changed values before committing SQLAlchemy model在提交 SQLAlchemy 模型之前获取更改的值
【发布时间】:2015-09-02 14:51:00
【问题描述】:

我有一个 SQLAlchemy 模型实例,其中包含待处理的新值 commit() 以将它们写入数据库。如何在不发出 rollback() 的情况下检查数据库中的旧值?

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    您可以使用检查 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 2012-08-25
      相关资源
      最近更新 更多