为什么在/ taxpayer / UNIQUE约束下出现IntegrityError错误:accounts_user.username?

时间:2020-03-15 14:05:04

标签: django django-models django-forms

    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()函数有什么问题吗?这就是错误页面上的内容,但我不明白为什么。

0 个答案:

没有答案
相关问题