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()