python:在提交之前和之后比较表单中的属性值

时间:2011-06-10 09:18:26

标签: python validation forms pygtk

我从包含其属性及其值的类实例中填充表单字段(在pygtk中)。 提交表单后,我会使用新值更新此实例。

确定表单是否返回不同值(即:已修改)的最佳方法是什么?我是否必须在更新之前制作对象实例的副本,或者在提交时返回副本 - 然后比较每个值(对我来说似乎很重)。

由于

1 个答案:

答案 0 :(得分:1)

您需要在提交表单之前和之后获得数据的副本。默认的__eq__运算符将比较类的所有属性,因此您可以使用before_form == after_form查看是否有任何更改。如果你需要知道改变了什么,那么你将不得不迭代每个属性。

另一种方法是挂钩表单中字段的onchange事件,并在触发任何字段时设置脏标志。