Saltar al contenido

Django – Crear perfil de usuario en la creación de usuarios

Intenta interpretar el código de forma correcta previamente a adaptarlo a tu proyecto si ttienes algo que aportar puedes dejarlo en la sección de comentarios.

Solución:

Acabo de descubrirlo.

Olvidé agregar null=True al resto de UserProfile campos modelo.

Entonces el accounts.models.UserProfile campos ahora se parece a:

user = models.ForeignKey(User, unique=True)
birth_date = models.DateField(null=True)
genre = models.CharField(max_length=1, choices=GENRE_CHOICES, null=True)
address = models.CharField(max_length=150, null=True)
postal_code_4 = models.PositiveIntegerField(null=True)
postal_code_3 = models.PositiveIntegerField(null=True)
locatity = models.CharField(max_length=30, null=True)
marital_status = models.CharField(max_length=1, choices=MARITAL_STATUS_CHOICES, null=True)
child_amount = models.PositiveSmallIntegerField(null=True)
is_merchant = models.BooleanField(default=False)
store = models.ForeignKey(Store, null=True)

… ¡y todo funciona según lo previsto!

Saludos por tratar de ayudar a Ashray ^^

No deberías usar:

user = models.ForeignKey(User, unique=True)

En su lugar usa esto:

from django.conf import settings
..
user = models.OneToOneField(settings.AUTH_USER_MODEL)

def create_profile(sender,**kwargs ):
    if kwargs['created']:
        user_profile=UserProfile.objects.create(user=kwargs['instance'])


post_save.connect(create_profile,sender=User)

Creo que esto te ayudará.

valoraciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *