模型的动态形式要求

时间:2011-04-21 07:18:22

标签: django-forms

我试图根据特定的客户需求生成动态注册表单。我创建了一个UserProfile模型,其中大部分字段设置为空白=真。

当表单生成时,我从另一个db表中提取客户端指定的字段并生成注册表单。所有这些都有效,除了所有字段都允许空值。到目前为止我有这个

def RegProfileForm(include_list, *args, **kwargs):
    class ProfileForm(forms.ModelForm):
        class Meta:
            model = hr.UserProfile
            fields = include_list

        def __init__(self):
            super(ProfileForm, self).__init__(*args, **kwargs)

    return ProfileForm()

然后我将此表格称为:

includes = ['gender','work_phone'] # dynamic fields
of = RegProfileForm(includes)

如何在运行时或生成表单时动态删除某些指定字段的blank = True需求?

1 个答案:

答案 0 :(得分:1)

我发现我可以做这样的事情来覆盖模型中的默认值:

form = MyAuthForm(data)
form.fields['first_name'].required = True
form.fields['email'].required = False