У меня есть 2 модели:
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"))
...
Я хочу автоматически заполнить поле company
при использовании Django CreateView
в зависимости от текущего пользователя, вошедшего в систему. Потому что каждая модель Company
имеет отношение ForeignKey
с User
. Поэтому я переопределяю метод form_valid, но как я могу получить правильное значение здесь для поля компании?
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)