Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模型表单-动态创建字段的顺序_Python_Django_Forms_Django Forms - Fatal编程技术网

Python Django模型表单-动态创建字段的顺序

Python Django模型表单-动态创建字段的顺序,python,django,forms,django-forms,Python,Django,Forms,Django Forms,当我不知道字段的编号和确切名称时,如何在Django ModelForm中设置订单字段? 我有一个名为FormEntry的模型,我想为其创建一个ModelForm。 唯一替换的字段应该是plugin_数据,并使用语言前缀(基于语言设置)动态创建其自定义派生项(标签、首字母等)。 因此,如果我在设置中设置了cs和en语言,那么这些字段必须可用: plugin_data, label_cs,label_en,initial_cs,initial_en,... 新字段是在\uuuu init\uuu

当我不知道字段的编号和确切名称时,如何在Django ModelForm中设置订单字段?

我有一个名为FormEntry的模型,我想为其创建一个ModelForm。
唯一替换的字段应该是plugin_数据,并使用语言前缀(基于语言设置)动态创建其自定义派生项(标签、首字母等)。
因此,如果我在设置中设置了cs和en语言,那么这些字段必须可用:

plugin_data, label_cs,label_en,initial_cs,initial_en,...

新字段是在
\uuuu init\uuuu
中动态创建的,我不知道在我事先不知道字段名称的情况下如何使用新功能(Form.field\u order)。

不管怎样,我自己解决了这个问题:

class someForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(FormElementEntryTransForm, self).__init__(*args, **kwargs)
        # creating new fields
        #...
        self.order_fields(sorted(self.fields.keys())) # sort fields alphabetically

你想在这里实现什么?因为如果你说的是基于设置在航班上动态生成数据库字段,我有一个非常糟糕的感觉。特别是当涉及到像language这样的客户端设置时。不,我只想更改表单字段的顺序。现在它们随机出现在结果表上,我想对它们进行排序,最好是按字母顺序