Foros del Web » Programando para Internet » Python »

Marcar como único el campo email de la clase User

Estas en el tema de Marcar como único el campo email de la clase User en el foro de Python en Foros del Web. Hola pues como dice el título me gustaría saber como decirle a django que el campo email de la clase User sea único para que ...
  #1 (permalink)  
Antiguo 12/11/2012, 10:35
 
Fecha de Ingreso: julio-2006
Mensajes: 56
Antigüedad: 17 años, 8 meses
Puntos: 0
Marcar como único el campo email de la clase User

Hola pues como dice el título me gustaría saber como decirle a django que el campo email de la clase User sea único para que cuando se cree en la base de datos se marque también como único.

Saludos
  #2 (permalink)  
Antiguo 12/11/2012, 10:37
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Marcar como único el campo email de la clase User

usa el parámetro unique=True en el campo que quieras que sea único.
  #3 (permalink)  
Antiguo 12/11/2012, 11:58
 
Fecha de Ingreso: julio-2006
Mensajes: 56
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Marcar como único el campo email de la clase User

El problema es que el modelo User es el de django.contrib.auth.models.User
  #4 (permalink)  
Antiguo 12/11/2012, 12:18
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Marcar como único el campo email de la clase User

En tu archivo __init__.py pon esto.

Código Python:
Ver original
  1. User._meta.get_field_by_name('email')[0]._unique = True

Fuente: StackOverflow
  #5 (permalink)  
Antiguo 12/11/2012, 12:20
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Marcar como único el campo email de la clase User

Tienes otras opciones, una es que en tu formulario de creación de Usuarios hagas una validación manual para verificar que el email sea único ó usar algo como django-registration.

Mira este tema: http://stackoverflow.com/questions/1...auth-in-django
__________________
Grupo Telegram Docker en Español
  #6 (permalink)  
Antiguo 12/11/2012, 13:32
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Marcar como único el campo email de la clase User

Otra solución podría ser añadir un indice único en tu en la tabla User desde la base de datos (si con SQL).
  #7 (permalink)  
Antiguo 12/11/2012, 15:45
 
Fecha de Ingreso: julio-2006
Mensajes: 56
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Marcar como único el campo email de la clase User

Cita:
Iniciado por razpeitia Ver Mensaje
En tu archivo __init__.py pon esto.

Código Python:
Ver original
  1. User._meta.get_field_by_name('email')[0]._unique = True

Fuente: StackOverflow
Esta solución crea como unique el campo en la base de datos?
Saludos
  #8 (permalink)  
Antiguo 15/11/2012, 11:56
 
Fecha de Ingreso: octubre-2012
Ubicación: Trujillo
Mensajes: 29
Antigüedad: 11 años, 6 meses
Puntos: 6
Respuesta: Marcar como único el campo email de la clase User

Hola, desde mi poca experiencia, podrías realizar ir directamente al field de la db y hacerlo manualmente, así quedaría como un campo único.

Etiquetas: 1.4, django, python2.7
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:02.