This is deprecated. I don't use it anymore, since forms now have the attribute "has_changed".
The method form_changed() returns a boolean value. It is True if the submitted values of the bound and valid form are different than the initial values.
It works for me. Feedback welcome.
Set debug=True if you want to know what's going on.