SQLAlchemy - 比较现有列值与潜在更新值

1 投票
1 回答
628 浏览
提问于 2025-04-17 03:34

我有一个SQLAlchemy模型,我正在用一个XML文件中的数据来更新它。我想知道哪里新值和旧值不一样。

我试过简单的方法:

if ModelInstance.Field <> NewValue:
    print "Field has changed from", ModelInstance.Field, "to", NewValue

但这在很多情况下都不管用,因为变量的类型不同。如果我在模型中添加了触发器,改变赋值时的值,这种方法也不行。

所以,我想问的是,怎么能比较当前字段的值和如果我把新值赋给它时,字段会有什么值。

为了更清楚地说明,跟DrColossus的评论一样——我可能从源文件中读取到“1.0”这个字符串,而模型中可能有一个整型的列,里面存的是1。如果你比较这两个,它们是不一样的,但如果你把“1.0”赋给这个列,最后的值会变成一样的。我就是想检测这种情况。

1 个回答

0

你可能想要一个属性设置事件

撰写回答