【发布时间】:2020-01-25 08:45:44
【问题描述】:
我有这两个模型:
class Company(models.Model):
...
contact_person = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, verbose_name=_("Contact person"))
...
class Assignment(models.Model):
...
company = models.ForeignKey('company.Company', null=True, blank=True,
on_delete=models.CASCADE, verbose_name=_("Company"))
...
我想根据当前登录用户使用Django的CreateView时自动填充company字段。因为每个Company 模型与User 都有ForeignKey 关系。所以我重写了 form_valid 方法,但是我怎样才能在这里为 company 字段获取正确的值呢?
class AssignmentCreateView(generic.edit.CreateView):
def form_valid(self, form):
instance = form.save(commit=False)
instance.company = self.request.user
super(AssignmentCreateView, self).save(form)
【问题讨论】:
-
但如果
Company对用户有ForeignKey,那么用户有零、一个或更多相关@987654331 @s。因此,您不能设置“用户的公司”。
标签: django django-views