1

J'ai essayé d'ajouter des données à un modèle UserProfile créé pour contenir des informations utilisateur au-delà de ce qui est prévu dans le composant Auth de django.Obtention du dernier utilisateur créé pour lier le profil utilisateur à django

Ma question est comment puis-je obtenir une instance de l'utilisateur vient de s'inscrire afin de créer le UserProfile? Je pensais que ce serait quelque chose comme ci-dessous:

# Registration form validation etc. is complete 
cd = form.cleaned_data 
user = User.objects.create_user(username=cd['username'], password=cd['password']) 
new_user = user.save() # hoping this returns an instance of the user? 
activation_key = some_random_generator() 
new_profile = UserProfile(user=new_user, token=activation_key) 
new_profile.save() 

... mais new_user revient comme Aucun et je figure il doit y avoir un moyen facile d'accéder à l'utilisateur vient d'enregistrer plutôt que de ré-interroger la base de données basée sur le nom d'utilisateur/mot de passe?

J'espère que c'est assez clair, merci pour toute aide/conseils.

Répondre

1

J'ai résolu mon propre problème. Avoir une journée lente à apprendre python/django.

Lors de l'appel de user.save(), l'objet utilisateur est mis à jour avec de nouvelles informations après l'insertion de la base de données, c'est-à-dire l'ID utilisateur nouvellement généré. Donc, cet objet utilisateur peut lui-même être passé à UserProfile().

Questions connexes