SQLAlchemy - 比较现有列值与潜在更新值
我有一个SQLAlchemy模型,我正在用一个XML文件中的数据来更新它。我想知道哪里新值和旧值不一样。
我试过简单的方法:
if ModelInstance.Field <> NewValue:
print "Field has changed from", ModelInstance.Field, "to", NewValue
但这在很多情况下都不管用,因为变量的类型不同。如果我在模型中添加了触发器,改变赋值时的值,这种方法也不行。
所以,我想问的是,怎么能比较当前字段的值和如果我把新值赋给它时,字段会有什么值。
为了更清楚地说明,跟DrColossus的评论一样——我可能从源文件中读取到“1.0”这个字符串,而模型中可能有一个整型的列,里面存的是1。如果你比较这两个,它们是不一样的,但如果你把“1.0”赋给这个列,最后的值会变成一样的。我就是想检测这种情况。