Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单刀场误差_Python_Django - Fatal编程技术网

Python 单刀场误差

Python 单刀场误差,python,django,Python,Django,我正在处理一个用户注册表单,该表单由两个Django表单组成,即CustomUserForm和CompanyProfileForm(即ModelForm)。这些表单通过位于CompanyProfile模型中的OneToOneField连接,如下面的代码所示 class CompanyProfile(models.Model): user=models.OneToOneField(用户,on_delete=models.CASCADE,主键=True) companyName=models.Ch

我正在处理一个用户注册表单,该表单由两个Django表单组成,即CustomUserForm和CompanyProfileForm(即ModelForm)。这些表单通过位于CompanyProfile模型中的OneToOneField连接,如下面的代码所示

class CompanyProfile(models.Model):
user=models.OneToOneField(用户,on_delete=models.CASCADE,主键=True)
companyName=models.CharField(最大长度=200,空白=False)

companyRegNum=models.CharField(max_length=30,blank=True)
这样做怎么样

if request.method == 'POST':
        userRegForm = CustomUserForm(request.POST)
        companyForm = CompanyProfileForm(request.POST)
        print(companyForm)

        if userRegForm.is_valid():
            user = userRegForm.save()
        else:
            #take user to somewhere to fix this
            pass

        companyForm.user = user
        if companyForm.is_valid():
            compProfile = companyForm.save(commit=False)
            if compProfile.user_id is None:
                compProfile.user_id = user.id
            compProfile.save()
            return HttpResponseRedirect('/user_account/dashboard')
        else:
            #You might want to delete user if things dont go well.  
            return HttpResponseRedirect(request.path)

您应该从CompanyProfileForm中排除用户字段。您已经将其设置为“保存”,因此它根本不需要在表单中

class CompanyProfileForm(ModelForm):
    class Meta:
        model = CompanyProfile
        exclude = ('user',)