【问题标题】:How to initialize Django forms where fieldtype is variable如何初始化字段类型可变的Django表单
【发布时间】:2020-06-29 22:04:18
【问题描述】:

我有一个这样的 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'

【问题讨论】:

标签: django django-forms


【解决方案1】:

答案应该是: getattr(forms, values["dataType"])

与此类似: Accessing models by variable model name in django

这种方式可以帮助我从存储在数据库中的 json 创建动态表单。

【讨论】:

    猜你喜欢
    • 2015-06-22
    • 1970-01-01
    • 2010-10-23
    • 2011-03-16
    • 1970-01-01
    • 2014-09-28
    • 2023-03-29
    • 2018-11-19
    • 2012-03-10
    相关资源
    最近更新 更多