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, чтобы сделать то, что вы хотите сделать.

Вернуться на верх