我正在覆盖 modelForm 的保存方法
def save(self, commit=True, *args, **kwargs):
userProfile = super(UserProfileForm, self).save(*args, **kwargs)
if self.cleaned_data.get('birth_year') :
userProfile.birthDay=date(self.cleaned_data['birth_year'], self.cleaned_data['birth_month'], self.cleaned_data['birth_day'])
**userProfile.save(commit)** <- This is error!!!
return userProfile
这是 view.py
def user(request):
if request.method=='POST':
form = UserProfileForm(request.POST, instance=request.user.get_profile(), option='modify')
if form.is_valid():
userProfile = form.save()
else:
form = UserProfileForm(instance = request.user.get_profile(), option='modify')
return render(request,'profile/user.html', {'userProfileForm':form,})
但是如果我更新我的 UserProfile,form.save() 会为重复的 Key 出错。
我怎么解决这个问题?