Mysql
 sql >> Base de données >  >> RDS >> Mysql

Les détails d'enregistrement de l'utilisateur supplémentaire de Django ne sont pas enregistrés dans la base de données

Votre méta-modèle de formulaire est User , donc lorsque vous essayez :

profile = form.save(commit=False)

la variable profile est une instance de User class, donc, puisque vous avez le signal qui crée le UserProfile exemple, vous devez utiliser ce code :

        user = form.save()
        profile = user.userprofile
        user_group = form.cleaned_data.get('user_type')
        profile.user_type = user_group
        profile.save()

au lieu de :

        profile = form.save(commit=False)
        profile.user = request.user
        profile.save()