Algo raro está sucediendo. Digamos que tengo un campo definido como:
Project_name = models.CharField(max_length=250, unique=True)
Asi que Project_name
debe tener un valor único; de lo contrario, arrojará un error. Luego, quiero agregar otra comprobación de validación. Entonces, en mi forms.py
def clean(self):
data = self.cleaned_data
if data["team_member2"] == data["team_member3"]:
raise ValidationError("Can"t have duplicate team members")
Sin embargo, una vez que agrego esta función, el unique
El operador deja de funcionar por alguna razón. ¿Algunas ideas?
Respuestas
1 para la respuesta № 1Usted no está llamando clean
método de superclase mientras se anula.
Prueba esto:
def clean(self):
data = super(FormClass, self).clean()
if data["team_member2"] == data["team_member3"]:
raise ValidationError("Can"t have duplicate team members")
return data
De documentación:
La llamada a super (ContactForm, self) .clean () en el código de ejemplo asegura que se mantenga cualquier lógica de validación en las clases primarias.