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})
Я включил правильный URL-путь в мой файл URL-адресов, и модели имеют поля, такие же, как формы. Но я не могу понять, почему я получаю эту ошибку. Есть ли проблема в функции save ()? Это то, что сказано на странице ошибок, но я не могу понять, почему.