Дизайн Django: несколько форм в одном представлении, CBV или FBV? inline_formsets?
У меня есть три модели, связанные следующим образом:
Location
Бизнес имеет отношение ForeignKey к местоположению
Контакт имеет отношение ForeignKey к бизнесу
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)
Все три модели имеют свой собственный класс формы: LocationForm, BusinessForm, ContactForm
Я хочу иметь страницу Бизнес, на которой можно создать (или обновить) Бизнес - его местоположение и связанный с ним Контакт(ы) на той же странице.
До сих пор я пытался использовать 3 формы с префиксами с CBV, но соединение POST запроса трех форм в form_valid() не работает, так как Django не распознает форму как валидную. Но я даже не уверен, что это правильный подход к этой проблеме. Итак, мои вопросы таковы:
What is the Django way to approach the problem: Do I create a template with these three forms and somehow tie them up in a single View? If yes, Would a Class Based View work?
Can inline Formsets work in this three way situation?
Я все еще очень новичок в Django, поэтому буду благодарен сообществу за помощь в концептуальном понимании Django.
Это сообщество невероятно полезно! Спасибо вам всем!