我从包含其属性及其值的类实例中填充表单字段(在pygtk中)。 提交表单后,我会使用新值更新此实例。
确定表单是否返回不同值(即:已修改)的最佳方法是什么?我是否必须在更新之前制作对象实例的副本,或者在提交时返回副本 - 然后比较每个值(对我来说似乎很重)。
由于
答案 0 :(得分:1)
您需要在提交表单之前和之后获得数据的副本。默认的__eq__
运算符将比较类的所有属性,因此您可以使用before_form == after_form
查看是否有任何更改。如果你需要知道改变了什么,那么你将不得不迭代每个属性。
另一种方法是挂钩表单中字段的onchange事件,并在触发任何字段时设置脏标志。