Django在提交表单时插入用户id(ForeignKey)

Django在提交表单时插入用户id(ForeignKey),django,django-models,django-forms,Django,Django Models,Django Forms,我正在努力想办法更新一个有外键的模型。我有一个名为companys的用户模型和一个companyesprofile模型,其中用户字段设置为companys模型的ForeignKey: class Companies(User, PermissionsMixin): company = models.TextField(max_length=100, unique=True) tel = models.TextField(max_length=20) reg_nr = m

我正在努力想办法更新一个有外键的模型。我有一个名为companys的用户模型和一个companyesprofile模型,其中用户字段设置为companys模型的ForeignKey:

class Companies(User, PermissionsMixin):

    company = models.TextField(max_length=100, unique=True)
    tel = models.TextField(max_length=20)
    reg_nr = models.TextField(max_length=50, unique=True)
    vat = models.TextField(max_length=50)


class CompanyProfile(models.Model):
    user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
    logo = models.ImageField(blank=True)
    street = models.TextField(max_length=256)
    city = models.TextField(max_length=36)
    postal_code = models.TextField(max_length=16)
    country = models.TextField(max_length=36)
当公司注册时,它可以创建一个配置文件
CompanyProfile
。我有一个表格:

class CompaniesProfileForm(forms.ModelForm):

    class Meta:
        model = CompanyProfile
        fields = ('street', 'city', 'postal_code', 'country', 'logo')
还有一个观点:

class CreateProfile(CreateView, LoginRequiredMixin):
    template_name = 'companies/profile.html'
    form_class = CompaniesProfileForm
    success_url = reverse_lazy('home')
每当提交视图中的表单时,我都会在/companys/profile处收到一个错误“integrityError”/ 非空约束失败:公司\u公司profile.user\u id“

这可能是因为
user
字段为空。我的问题是如何根据当前登录的用户自动填写
用户

url.py

urlpatterns = [
    path('register/', views.Register.as_view(), name='register'),
    path('login/', auth_views.LoginView.as_view(template_name='companies/login.html'), name='login'),
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
    path('create/', views.CreateAds.as_view(), name='ads_create'),
    path('profile/', views.CreateProfile.as_view(), name='profile_create'),
]