django inlineformset_factory,查看保存时更改的字段

时间:2011-04-07 23:23:14

标签: django django-views

我正在创建一些自定义验证,在保存时检查某些字段值是否已更改。

POST上,view中是否有一种方法可以检查该格式集的哪些字段已更改?

我正在循环遍历formset并且能够查看单个字段值,因此我可以将它们与查询进行比较。考虑到如果没有任何改变,formset不会通过保存过程,它似乎有点不必要。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

向formset添加方法:

def has_changed()
    return all([form.has_changed() for form in self.forms])

同样,表单还记录了changed_fields,您可以在formset中连接它们。

我认为formset.save()不会盲目地覆盖数据库中的所有条目。它会检查更改的表单,我认为这些表单在formset.changed_forms中可用,它只更新数据库中的那些行。