【发布时间】:2019-03-08 07:33:26
【问题描述】:
我想在用户提交创建表单时自动将公司名称呈现到数据库中...
这是我的模型:
class company(models.Model):
User = models.ForeignKey(User,related_name="Company_Owner",on_delete=models.CASCADE,null=True,blank=True)
Name = models.CharField(max_length=50,blank=False)
class group1(models.Model):
User = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,null=True,blank=True)
group_Name = models.CharField(max_length=32)
Company = models.ForeignKey(company,on_delete=models.CASCADE,null=True,blank=True,related_name='Company_group')
这就是我在views.py中尝试做的事情:
class group1CreateView(LoginRequiredMixin,CreateView):
form_class = group1Form
template_name = "accounting_double_entry/group1_form.html"
def form_valid(self, form):
form.instance.User = self.request.user
form.instance.Company = company
return super(group1CreateView, self).form_valid(form)
但是得到了这个错误:
ValueError: Cannot assign "<class 'company.models.company'>": "group1.Company" must be a "company" instance.
它适用于用户,但不适用于公司..
谁能告诉我我做错了什么???
谢谢...
【问题讨论】:
-
请分享完整代码
-
Company 是我在 group1 模型中给出的字段的名称...而 company 是通过外键与 group1 链接的模型...
-
form.instance.Company = company,这个company来自哪里? -
我已经编辑了我的代码...
-
来自公司模式
标签: python django django-models django-forms django-views