我的个人资料模型不保存到数据库(Django)

时间:2016-07-21 22:44:24

标签: django

我有两个ModelForms。 UserForm和ProfileForm。我不知道如何将表单数据保存到用户对象配置文件。

这是我的一般视图中的post函数中的一些内容:

user = user_form.save(commit=False)
profile = profile_form.save(commit=False)

password = user_form.cleaned_data['password']

user.set_password(password)
user.is_active = False
user.is_staff = True
user.save()

我尝试使用以下方式保存配置文件:

about = profile_form.cleaned_data['about']
user.profile.about = about

但那没用。我得到User has no profile.如何保存数据?

1 个答案:

答案 0 :(得分:1)

但是个人档案本身并没有被保存!

参考:https://docs.djangoproject.com/en/1.9/topics/forms/modelforms/#the-save-method

  

这个save()方法接受一个可选的commit keyword参数   接受True或False。如果使用commit = False调用save(),   然后它将返回一个尚未保存到的对象   数据库。在这种情况下,您可以在结果上调用save()   模型实例。

在为用户实例执行此操作时,您不会在配置文件实例上调用save。