Pat
Pat

Reputation: 81

Django abstractuser can't set parameters

I am trying to set a flag when a user signs up. The flags show up on the admin site, so I know the abstract user was implemented. When I toggle them in the admin area it works as well. I just can't get the form to work for regular users. I have tried many combinations with self.instance and self.request.

def save(self, commit=True):
    self.instance.user.is_member = True
    ### additional code that works and sets non-abstractuser parameter ####
    return super(UpdateUserProfileForm, self).save(commit=commit)

def form_valid(self, form):
    form.instance.user = self.request.User
    # form.instance.user.is_member = True
    # self.request.user.is_member = True
    return super().form_valid(form)

Upvotes: 0

Views: 41

Answers (1)

Pat
Pat

Reputation: 81

After further research I needed to add the lines

def save(self, commit=True):
    user = self.instance.user
    user.is_member = True
    user.save()

Upvotes: 1

Related Questions