自定义create_user()值?

时间:2010-01-17 15:12:29

标签: django

注册通常需要3个参数。

-Username

-Password

-Email

但是当我尝试添加第4个值时,它会返回以下错误:

  

create_user()有一个意外的关键字参数'业余爱好'

知道如何解决这个问题吗?

以下是我正在使用的表单

    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

1 个答案:

答案 0 :(得分:2)

您无法更改用户模型,但您可以附加一个包含所有其他信息的配置文件。请阅读this了解更多信息。