Tengo ModelForm con varios campos. Algunos de los campos son obligatorios, otros no. También tengo el campo Seleccionar con diferentes opciones, y quiero hacer algunos de los campos "obligatorios" o no basados en esta opción Seleccionar campo.Modelo de Django eliminar el atributo "requerido" basado en otra opción de campo
Probé en el método clean() de la Forma
def clean(self):
cleaned_data = self.cleaned_data
some_field = cleaned_data.get("some_field")
if some_field == 'some_value':
self.fields['other_field'].required = False
return cleaned_data
pero no funciona
Gracias. ¡Esta idea me ayudó a conseguirlo! – Igor
Necesito hacer una validación similar (Django 1.4) pero el campo que estoy probando es de solo lectura, así que no lo tengo en mis datos limpios (por cierto, lo estoy haciendo en el administrador). ¿Alguna idea de cómo acceder al valor de este campo de solo lectura? 10x – Lin
Encontré la solución - form.instance contiene todos los datos relevantes, y los datos modificados se incluyen en form.changed_data – Lin