开发者

django inlineformset_factory, view changed fields on save

I am creating some custom validation, that on save checks if certain fields values have changed.

On POST, is there a way in the view that I can check what fields have changed for that formset?

I am currently looping through the formset and am able to view individual开发者_如何学运维 field values, so I could compare them to a query. It just seems to be a bit more than necessary considering the formset doesn't go through the save process if nothing has changed.

Any help is appreciated.


Add a method to your formset:

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

Similarly, the form also documents the changed_fields, which you can concatenate in your formset.

I don't think formset.save() blindly overwrites all entries into the db. It checks the changed forms, which I think is available in formset.changed_forms and it updates only those rows in the db.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜