Из исходного кода вы можете видеть, что класс Django 1.4 Form имеет метод 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().