Из исходного кода видно, что класс Form
Django 1.4 имеет метод has_changed()
и свойство changed_data
, которые кажутся довольно полезными, но не задокументированы. Мой вопрос: :делают ли они эту работу, как и ожидалось, т.е.:
Form.clean()
, Form.has_changed()
возвращает True
, если какие-либо данные формы изменились, в противном случаеFalse
Form.clean()
, Form.changed_data
есть список имен полей, значения которых изменились.Если да, то есть ли какие-либо особые причины не использовать их, помимо обычных предостережений/опасностей, связанных с использованием недокументированных функций (, т.е. подверженных изменениям, не поддерживаемых и т. д. )?
ПРИМЕЧАНИЕ 1. :Чтобы они работали с пользовательскими виджетами, эти виджеты должны иметь метод _has_changed()
, определенный для встроенных виджетов.
ПРИМЕЧАНИЕ 2. :Интересно, что документация включает небрежное упоминание метода Formset.has_changed()
, но не Form.has_changed()
.