Quiero tener un formulario vinculado de un objeto para usar el método is_valid. La razón es porque tengo algunos datos antiguos que deseo que los usuarios corrijan de acuerdo con las nuevas reglas de validación. Entonces, quiero reutilizar el código de los métodos de limpieza en mi formulario.¿Transformar un formulario independiente en uno enlazado?
Terminé la serialización de mi respuesta:
from django.utils import simplejson
from django.core.serializers import serialize
(...)
fields_dict = simplejson.loads(serialize('json', [obj]))[0]['fields']
form = forms.MyForm(fields_dict)
if form.is_valid
Esto funciona, pero no parece muy Djangish. Además, parece ser un problema común, así que estaba buscando una forma mejor de hacerlo.
De acuerdo con la documentación traducir los datos de no unido a no unido no está destinado a suceder: https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method Sin embargo, eso sería la solución más fácil para mí.
Dime si lo hizo bien: tiene datos antiguos en algún lugar y ya que este fue salvado, las reglas de validación cambiaron. ¿Ahora quiere usar un ModelForm para volver a validar los datos antiguos y mostrar errores al usuario? – Martin
¿De dónde viene 'obj'? Esto ayudará a determinar qué está pasando aquí. –
Exactamente @Penthi. Creo que Oogles me dio lo que estoy buscando. Gracias –