问题描述
我正在尝试编写存储在数据库中的numpy数组的版本历史记录。每次编辑数组并将其提交到数据库时,我都希望将数组的先前未编辑版本保存在单独的表中。我将numpy数组存储在PickleType列中,并使用Mutable mixin编写了一个包装器类,以检测对该数组的更改。
使用我编写的MutableNumpy类,我可以检测到对数组的更改(即,行出现在session.dirty
中,更新后的值出现在inspect(row).attrs.data.history.added
中)。但是,我在访问数组的原始未经修改的版本时遇到了麻烦,我需要捕获该版本以获取版本历史记录。其他类似How to get the original value of changed fields?之类的问题表明,原始值应显示在历史记录的deleted
部分中,而Versioning objects on the SQL documentation的示例似乎也使用了{ {1}}访问旧值。
我已经探索过将deleted
用于column_property,但这还没有取得成果。我还检查了get_history
是否还原了未编辑的数组,所以我知道未编辑的数组在某处可用。
这是一个最低限度的工作示例,它带有MutableNumpy包装器类,一个简单的表定义以及一些数据库操作来说明问题。
active_history=True
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)