Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/12/2014, 17:09
Avatar de kojicomics
kojicomics
 
Fecha de Ingreso: junio-2013
Mensajes: 49
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Campos opcionales con UserChangeForm

Cita:
Iniciado por razpeitia Ver Mensaje
En tu modelo pones en los campos que quieres que sean opcionales blank=True.
El problema de especificar si son opcionales o no en el modelos, es que por ejemplo me interesa que el email sea obligatorio en el formulario de registro pero opcional en el formulario de modificación.

Cita:
Iniciado por razpeitia Ver Mensaje
No ocupas checar que el username sea único, en el modelo base, username es un indice único y ademas ese tipo de validaciones se hace a nivel instancia, no a nivel campo.
Probé a validar los datos a nivel de instancia pero no muestra el mensaje de error en el template, mientras que al validar desde el formulario sí lo hace.

Éste es un ejemplo:
Código Python:
Ver original
  1. class Profiles(AbstractUser):
  2.     avatar = models.ImageField(upload_to='profile_avatar', blank=True)
  3.  
  4.     def clean(self):
  5.         avatar = self.avatar
  6.         if avatar.file.size > 1024*1024:
  7.             raise ValidationError(_('Image file too large ( > 1mb )'))

También probé con forms.ValidationError pero tampoco muestra nada

De todas formas, como dije en el post, mi principal duda es cómo evitar que si un usuario deja en blanco un campo al modificar su perfil, éste se actualice con el valor vacío, en vez de conservar el anterior

Un saludo