[英]Save reverse Foreign Key in Django CreateView
我有这两个模型:
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)
def form_valid(self, form):
company = Company.objects.get(user=self.request.user)
form.instance.company = company
valid_data = super(AssignmentCreateView, self).form_valid(form)
return valid_data
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.