Django - объединение нескольких моделей в один класс формы
Есть ли способ объединить несколько моделей в одном классе формы в файле form.py.
Сейчас у меня есть три Модели, и я должен создать три отдельных класса форм в файле form.py, используя forms.Modelform для каждого класса форм.
Я определяю модель для каждого класса формы в метатеге,
Что-то вроде:
class Form1(forms.ModelForm):
# FORM META PARAMETERS
class Meta:
model = Model 1
class Form2(forms.ModelForm):
# FORM META PARAMETERS
class Meta:
model = Model 2
class Form3(forms.ModelForm):
# FORM META PARAMETERS
class Meta:
model = Model 3
Затем мне нужно объединить все три формы (выбор полей из каждой модели) в HTML-шаблоне, чтобы была только одна кнопка отправки.
Затем мне нужно убедиться, что я сохраняю каждую из 3 форм в файле view.py, чтобы все сохранялось после нажатия одной кнопки submit
Вопрос
Не существует ли способа объединить модели в один класс формы для начала в файле form.py?
Это сделало бы кодирование вверх по течению в представлении и html шаблоне намного проще, компактнее и менее повторяющимся!
Кроме того, все проверки ошибок будут в одном месте, и я буду управлять меньшим количеством классов форм, которые будут иметь разные имена в других файлах *.py или *.html, поскольку поля из нескольких моделей будут объединены в одном классе форм.
Сегодня утром один из моих коллег задал мне этот вопрос. На данный момент я не думаю, что это возможно, но кто-то с более широкой базой знаний, чем у меня, может показать нам, как это сделать. Я думаю, что вам, вероятно, придется наследовать от модели по умолчанию forms.Form, чтобы сделать то, что вы хотите сделать.