我有两个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.
如何保存数据?
答案 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。