Как инициализировать переменную «модель» мета-класса в Django? - PullRequest
0 голосов
/ 10 июня 2018

Это может быть Django или общий вопрос по питону.У меня есть ModelForm.Исходя из пользовательского ввода мне нужно использовать одну модель или другую.Например, если ввод «M», мне нужно связать его форму с MaleTable, иначе с FemaleTable.Я могу создать 2 ModelForms

class DemographicM (ModelForm):
    class Meta:
        model = MaleTable

class DemographicF (ModelForm):
    class Meta:
        model = FemaleTable

, но я хотел бы использовать только одну ModelForm и инициализировать ее подходящей моделью на основе ввода.

Я понимаю, что Meta - это просто внутренний класс,Как я могу инициализировать переменную «модель» во время создания формы?

1 Ответ

0 голосов
/ 10 июня 2018

Я предлагаю оставить их обоих и использовать их вот так

if choice == 'M':
    TableForm = DemographicM
else:
    TableForm = DemographicF

form = TableForm()
...