我有两个模型:用户和配置文件,我为它们创建了2个窗体类。在
class UserProfileForm(ModelForm):
class Meta:
model = Profile
fields = ['dob','country']
class UserForm(ModelForm):
class Meta:
model = User
fields = ['username','first_name','last_name','email','password']
如何保存这些表单?在
forms.save()
似乎没有帮助。在
def profile(request):
print(request.user)
form1 = UserForm()
form2 = UserProfileForm()
if request.method == 'POST':
if form1.is_valid() and form2.is_valid():
form1.save()
form2.save()
return render(request,'account/profile.html',{'form1':form1, 'form2':form2})
您需要将数据传入表单,以便进行验证,并且在验证成功后保存模型。现在,
form1.is_valid()
和form2.is_valid()
总是返回False
,而且您没有处理这种情况,所以页面只是重新呈现。在尝试此操作,因为您没有将任何数据保存到数据库:
这是一种正确的方法,可以检查它是否是
GET
return empty form。但是我不确定你是否能同时保存profile和user,因为你的profile中有一个外键,它不能为空。你需要有一个预定义的用户。在相关问题 更多 >
编程相关推荐