Как инициализировать Django формы, где fieldtype является переменной - PullRequest
0 голосов
/ 18 марта 2020

У меня есть json объект, подобный этому:

    {  
 "Enzyme": {
        "order": 1,
        "required": "no",
        "help": "enzyme",
        "dataType": "CharField"   },   
"Date": {
        "order": 2,
        "required": "yes",
        "help": "date",
        "dataType": "DateField"   } 
}

И теперь я хочу инициализировать форму примерно так:

class MyForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        for key,values in jsonObj.items():
            self.fields[key] = forms.values["dataType"]

Я не уверен, как я могу сделайте это, используя этот тип данных из моего json ввода. Что я должен написать после формы. инициализировать формы? Прямо сейчас выдает ошибку module 'django.forms' has no attribute 'values'

1 Ответ

0 голосов
/ 23 марта 2020

Ответ должен быть таким: getattr (формы, значения ["dataType"])

Аналогично этому: Доступ к моделям по имени переменной модели в django

Этот способ помогает мне создавать динамические c формы из json, хранящихся в базе данных.

...