Yeah I did notice that after I posted, lol. Thanks for the advice, it works fine now.
On Oct 9, 12:02 pm, Daniel Roseman <dan...@roseman.org.uk> wrote: > On Oct 9, 11:03 am, "british.assassin" <british.assas...@gmail.com> > wrote: > > > > > Hi, > > > I am trying to add some more fields for new members to fill in on > > registration to my site by subclassing the RegistrationForm from the > > django-registration app. My question is: is there away to do > > something like this for saving: > > > class PlayerRegistrationForm(RegistrationForm): > > first_name = forms.CharField(max_length=100,error_messages= > > {'required': u"You must enter your first name"} > > last_name = forms.CharField(max_length=100,error_messages= > > {'required': u"You must enter your last name"} > > phone = forms.CharField(max_length=12,error_messages={'required': > > u"You must enter your phone number"}) > > > def save(self): > > user = super(PlayerRegistrationForm, self).save() > > user.first_name = self.cleaned_data['first_name'] > > user.first_name = self.cleaned_data['last_name'] > > PlayerProfile(user = user, phone = self.cleaned_data['phone']) > > return user > > > Or would I basically have to re-write the original save function? > > > Because when I try my code above I get the follwing error: save() got > > an unexpected keyword argument 'profile_callback' > > > Or have I just done something wrong? > > > Any help would be appreciated. > > > Thanks, > > > Ryan > > Your overridden method always needs to accept the same parameters as > the original - apparently this includes a 'profile_callback' keyword > argument. You can copy the signature from the parent class, but the > easiest thing to do is to always accept *args and **kwargs: > > def save(self, *args, **kwargs): > user = super(PlayerRegistrationForm, self).save(*args, > **kwargs) > ...etc... > > I would note separately that your function wouldn't really work. You > don't save the changes to the user instance, and you don't save the > new PlayerProfile object either, so it is simply thrown away when the > function ends. Also, one of the things that can be passed as an > argument to a form save is commit=False, so your code needs to take > account of that. > -- > DR. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---