No estoy al tanto de un paso a paso (aunque estoy seguro de que un google sólido produciría algo). Pero aquí hay un rápido avance.
1) Cree un modelo UserProfile
para guardar la información adicional y ponerla en su models.py
. Podría ser algo como esto:
class UserProfile(models.Model):
#required by the auth model
user = models.ForeignKey(User, unique=True)
middle_name = models.CharField(max_length=30, null=True, blank=True)
2) Informe a su settings.py
acerca de la nueva clase mediante la adición de esta línea (con el nombre apropiado):
AUTH_PROFILE_MODULE = "myapp.UserProfile"
3) Añada un receptor de señales para crear una UserProfile
en blanco registra cuando se agrega un nuevo usuario. Puede encontrar un gran fragmento con instrucciones here.
4) Al procesar el nuevo registro de usuario puede llenar el registro UserProfile
también. Aquí es cómo hago el inserto (nótese la get_profile):
if (form.is_valid()):
cd = form.cleaned_data
user = User.objects.create_user(cd["UserName"], cd["Email"], cd["Password"])
user.first_name = cd["FirstName"]
user.last_name = cd["LastName"]
user.save()
#Save userinfo record
uinfo = user.get_profile()
uinfo.middle_name = cd["MiddleName"]
uinfo.save()
Eso es todo lo que hay que hacer. Esto no es exhaustivo, pero debe apuntarlo en la dirección correcta.
Actualización: Tenga en cuenta que AUTH_PROFILE_MODULE
está obsoleta desde v1.5: https://docs.djangoproject.com/en/1.5/ref/settings/#auth-profile-module
entonces * usted * es la función Django create_user()? :) –
Pensé que era, pero desafortunadamente no lo soy :(.... Sólo un viejo humano normal ... Gracias por la corrección gramatical ax. ¿Alguna idea sobre cómo resolver mi problema real? –