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