2010-01-17 22 views
2

註冊通常需要3個參數。自定義create_user()值?

-Username

-Password

- 電子郵件

但是,當我嘗試添加第4個值,則返回該錯誤:

create_user() got an unexpected keyword argument 'hobby'

不知道如何解決這個問題?

這裏的形式我使用:

def save(self): 
     new_user = User.objects.create_user(
      username=self.cleaned_data['username'], 
      password=self.cleaned_data['password1'], 
      email=self.cleaned_data['email'], 
      hobby=self.cleaned_data['hobby']) 
     return new_user 

而這裏的視圖我使用

def register_page(request): 
    if request.method == 'POST': 
     form = RegistrationForm(request.POST) 
     if form.is_valid(): 
      new_user = form.save() 
      return HttpResponseRedirect("/") 
    else: 
     form = RegistrationForm() 
    return render_to_response("registration/register.html", {'form': form}) 

回答我的問題,也許是爲了幫助他人用類似的問題,這是我做的:

def save(self): 
     new_user = User.objects.create_user(
      username=self.cleaned_data['username'], 
      password=self.cleaned_data['password1'], 
      email=self.cleaned_data['email']) 
     new_user.hobby=self.cleaned_data['hobby'] 
     new_user.save() 
     return new_user 

回答

2

您不能更改用戶模型,但可以附加一個配置文件來保存所有附加信息。請閱讀this瞭解更多信息。

+0

已經解決了這個問題,不過謝謝。 而在另一個說明中,您可以更改用戶模型,雖然可能不建議這樣做。 – user216171 2010-01-17 15:25:52