Как занести данные из формы Django в бд по внешнему ключу
Есть форма на сайте, где пользователь может выбрать организацию. У меня есть модель Person, с внешним ключом на модель Organization, но я не понимаю, как получить данные из формы так, чтобы привязать Пользователя к выбранной организации.
Модель:
#models.py
class Organization(models.Model):
org_name = models.CharField(max_length=20)
def __str__(self):
return 'Организация: {}'.format(self.org_name)
class Person(models.Model):
company = models.ForeignKey(Organization, verbose_name='Компания', on_delete=models.CASCADE)
Форма:
class UserForm(UserCreationForm):
org = Organization.objects.all()
OPTIONS = ()
count = 0
for i in org:
count += 1
OPTIONS += (count, i),
Company = forms.MultipleChoiceField(widget=forms.SelectMultiple(), choices=OPTIONS)
Views:
def adduser(request):
data = {}
if request.method == "POST":
dbuser = Person()
form = UserForm(request.POST)
dbuser.first_name = request.POST.get("FirstName")
org_name = request.POST.get("Company")
dborg = Organization().objects.get(name=org_name)
dborg.person_set.create(name=dbuser.first_name)
if form.is_valid():
form.save()
data['form'] = form
data['res'] = 'Пользователь успешно создан'
dbuser.save()
return render(request, 'adduser.html', data)
else:
form = UserForm()
data['form'] = form
return render(request, "adduser.html", data)