当我不知道字段的编号和确切名称时,如何在Django ModelForm中设置订单字段?
我有一个名为FormEntry的模型,我想为其创建一个ModelForm
唯一被替换的字段应该是plugin_data并动态创建它的自定义派生词(label,initial,..)和语言前缀(基于语言设置)。
因此,如果我在设置中设置了语言cs和en,那么这些字段必须可用:
plugin_data, label_cs,label_en,initial_cs,initial_en,...
新字段是在__init__
中动态创建的,我不知道如果我不知道如何在Django 1.9中使用新功能(Form.field_order)事先的字段名称。
答案 0 :(得分:2)
没关系,自己解决了:
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