from django import forms
from .models import User, TaxpayerProfile, OfficialProfile
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ['first_name', 'last_name', 'email']
class TaxpayerProfileForm(forms.ModelForm):
class Meta:
model = TaxpayerProfile
fields = ['aadhar']
class OfficialProfileForm(forms.ModelForm):
class Meta:
model = OfficialProfile
fields = ['aadhar', 'uid']
上面是forms.py文件 下面是views.py文件
from django.contrib.auth import login
from django.shortcuts import redirect, render
from django.http import HttpResponse, HttpResponseRedirect
from django.views.generic import CreateView
from .forms import OfficialProfileForm, TaxpayerProfileForm, UserForm
from .models import User
def taxpayer_profile_view(request):
if request.method == 'POST':
user_form = UserForm(request.POST)
taxpayer_profile_form = TaxpayerProfileForm(request.POST)
if user_form.is_valid() and taxpayer_profile_form.is_valid():
user = user_form.save(commit=False)
user.save()
user.taxpayer_profile.aadhar = taxpayer_profile_form.cleaned__data.get('aadhar')
user.taxpayer_profile.save()
return HttpResponseRedirect('/thanks/')
else:
user_form = UserForm()
taxpayer_profile_form = TaxpayerProfileForm()
return render(request, 'accounts/taxpayer_profile.html', {'user_form':user_form, 'taxpayer_profile_form':taxpayer_profile_form})
else:
user_form = UserForm()
taxpayer_profile_form = TaxpayerProfileForm()
return render(request, 'accounts/taxpayer_profile.html', {'user_form':user_form, 'taxpayer_profile_form':taxpayer_profile_form})
def official_profile_view(request):
if request.method == 'POST':
user_form = UserForm(request.POST)
official_profile_form = OfficialProfileForm(request.POST)
if user_form.is_valid() and official_profile_form.is_valid():
user = user_form.save(commit=False)
user.save()
user.official_profile.aadhar = official_profile_form.cleaned__data.get('aadhar')
user.official_profile.uid = official_profile_form.cleaned__data.get('uid')
user.official_profile.save()
return HttpResponseRedirect('/thanks/')
else:
user_form = UserForm()
official_profile_form = OfficialProfileForm()
return render(request, 'official_profile.html', {'user_form':user_form, 'official_profile_form':official_profile_form})
else:
user_form = UserForm()
official_profile_form = OfficialProfileForm()
return render(request, 'officialr_profile.html', {'user_form':user_form, 'official_profile_form':official_profile_form})
我在urls文件中包含了正确的url路径,并且模型具有与表单相同的字段。但我不明白为什么会收到此错误。 save()函数有什么问题吗?这就是错误页面上的内容,但我不明白为什么。