从modelform_factory重新排序表单中的字段

时间:2013-03-10 00:48:27

标签: python django django-forms

我有一个名为CommonInfo的基础模型类,其中包含名称,电子邮件,密码等道具。

然后有一个User模型(CommonInfo的子类),其中包含配置文件图像,用户名和称为信誉的整数字段。

现在我想显示一个没有信誉字段的注册表单,所以我的视图函数如下所示:

def reg(request):
    form = modelform_factory(User, exclude=('reputation'))
    return render(request, 'reg.html', {
        'form': form,
    });

但问题是表单中的字段的排序方式与模型(名称,电子邮件,密码,profile_image,用户名)相同。

我想重新排序这些字段(首先放置用户名,然后输入名称和电子邮件),但我不想为此表单创建类,只是因为模型和表单非常相似(唯一的区别是该 声誉领域)

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

最快的方法是:

class RegForm(forms.ModelForm):
    class Meta:
       model=User
       fields=['username', 'name', 'email' ...]