Desde el código fuente, puede ver que la clase Form
de Django 1.4 tiene un método has_changed()
y una propiedad changed_data
que parecen bastante útiles, pero no están documentadas. Mi pregunta es: hacer estos trabajos como se esperaba, es decir:En Django 1.4, ¿Form.has_changed() y Form.changed_data, que no están documentados, funcionan como se esperaba?
- En
Form.clean()
,Form.has_changed()
vuelveTrue
si los hay ningún formulario de datos ha cambiado, de lo contrarioFalse
- En
Form.clean()
,Form.changed_data
es una lista de nombres de campos cuyos valores tienen cambiado
En caso afirmativo, ¿hay algún motivo específico para no utilizarlos, aparte de las advertencias/peligros habituales sobre el uso de funciones no documentadas (es decir, sujeto a cambios, no admitidos, etc.)?
NOTA 1: Para que estos widgets personalizados funcionen, dichos widgets deben tener un método _has_changed()
, que se define para los widgets integrados.
NOTA 2: Curiosamente, la documentación sí incluye una mención de improviso del método Formset.has_changed()
, pero no de Form.has_changed()
.
gran característica. Gracias por la explicación. ;-) – Houman