Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.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 使用exclude对Django表单字段排序_Python_Django_Forms - Fatal编程技术网

Python 使用exclude对Django表单字段排序

Python 使用exclude对Django表单字段排序,python,django,forms,Python,Django,Forms,Django 1.9+允许我通过将列表传递到字段\顺序来指定模型表单字段的顺序。但是,如果我在表单的Meta类中有exclude,则它不起作用: class MyForm(ModelForm): class Meta: model = MyModel exclude = ['unwanted_field1', 'unwanted_field2'] field_order = ['foo', 'bar', 'spam', 'eggs']

Django 1.9+允许我通过将列表传递到
字段\顺序
来指定
模型表单
字段的顺序。但是,如果我在表单的
Meta
类中有
exclude
,则它不起作用:

class MyForm(ModelForm):

    class Meta:
        model = MyModel
        exclude = ['unwanted_field1', 'unwanted_field2']
        field_order = ['foo', 'bar', 'spam', 'eggs']
(我按照在模型中定义的顺序获取字段)。如果我指定所需的字段而不是使用
排除
,则这些字段按我所需的顺序排列:

class MyForm(ModelForm):

    class Meta:
        model = MyModel
        fields = ['foo', 'bar', 'spam', 'eggs']

那么,我们应该如何使用
字段顺序

我将在这里留下我自己的解决方案,以防其他人以同样的方式绊倒。似乎
field\u order
ModelForm
类的属性,而不是它的
Meta
类的属性(出于某种原因:欢迎解释…)。因此,应按预期进行以下工作:

class MyForm(ModelForm):

    field_order = ['foo', 'bar', 'spam', 'eggs']

    class Meta:
        model = MyModel
        exclude = ['unwanted_field1', 'unwanted_field2']