Django 1.9+允许我通过将列表传递给ModelForm
来指定field_order
个字段的顺序。但是,如果我的exclude
课程中Meta
class MyForm(ModelForm):
class Meta:
model = MyModel
exclude = ['unwanted_field1', 'unwanted_field2']
field_order = ['foo', 'bar', 'spam', 'eggs']
,那么它无法发挥作用:
exclude
(我按照模型中定义的顺序获取字段)。如果我指定了我想要的字段而不是class MyForm(ModelForm):
class Meta:
model = MyModel
fields = ['foo', 'bar', 'spam', 'eggs']
,则按照我想要的方式对它们进行排序:
field_order
那么如何使用Every man will die
?
答案 0 :(得分:1)
我会在这里留下我自己的解决方案,以防其他人以同样的方式绊倒。似乎field_order
是ModelForm
类的属性,而不是Meta
类的属性(由于某种原因:解释欢迎......)。因此,以下按预期工作:
class MyForm(ModelForm):
field_order = ['foo', 'bar', 'spam', 'eggs']
class Meta:
model = MyModel
exclude = ['unwanted_field1', 'unwanted_field2']