Дизайн Django : множество форм в одном представлении, CBV или FBV? inline_formsets?

#django #django-models #django-views

Вопрос:

У меня есть три модели, связанные следующим образом:

Местоположение
У бизнеса есть связь по внешнему ключу с местоположением
Контакт имеет связь по внешнему ключу с бизнесом

 class Location(models.Model):
    latitude =.. 

class Business(models.Model):
    home_location = models.ForeignKey(Location)


class Contact(models.Model):
    business = models.ForeignKey(Business, on_delete=models.CASCADE)
    contact = models.CharField(max_length=16, null=True)
 

Все три модели имеют свой собственный индивидуальный класс форм : Форма местоположения, бизнес-форма, Форма контакта

Я хочу, чтобы у меня была бизнес-страница, которая могла бы создавать (или обновлять) компанию-ее местоположение и связанные контакты на одной странице.

До сих пор я пытался использовать 3 формы с префиксами с CBV, но подключение запроса POST трех форм в form_valid() не работает, так как Django не распознает форму как действительную. Но я даже не уверен, что это правильный подход к этой проблеме. Поэтому мои вопросы таковы:

  1. Каков способ решения проблемы в Django: создать шаблон с этими тремя формами и каким-то образом связать их в одном представлении? Если да, будет ли работать представление на основе классов?
  2. Могут ли встроенные наборы форм работать в этой трехсторонней ситуации?

Я все еще очень новичок в Django, поэтому был бы признателен за помощь сообщества, которая помогла бы мне концептуально понять Django.

Это сообщество невероятно полезно! Спасибо вам всем!