[Answered ]-Django User model and Userprofile model in the same form

2👍

Create a model form for your user profile and add user related fields for user model e.g. first_name and last_name and save the user fields when profile model get saved:

class ProfileForm(forms.ModelForm):
    first_name = forms.CharField('First Name', max_length=25)
    last_name = forms.CharField('Last Name', max_length=25)

    def __init__(self, *args, **kwargs):
        super(ProfileForm, self).__init__(*args, **kwargs)

    class Meta:
        model = ProfileModel
        exclude = ('user', )

    def save(self, *args, **kwargs):
        instance = super(ProfileForm, self).save(*args, **kwargs)
        user = instance.user
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']
        user.save()
        return instance

Leave a comment