Django ModelForms,覆盖一个字段,保持相同的标签

vdb*_*oor 0 django django-models django-forms

在我的ModelForm中,我必须覆盖字段的某些设置(例如choices,或required状态).这需要将整个场再次声明为形式场.

有没有一种简单的方法来访问verbose_name模型字段,所以这不需要重新定义?

Mar*_*vin 8

您无需重新定义字段即可更改这些设置.您可以通过__init__以下表单访问该字段.

class MyForm(forms.ModelForm):

    class Meta(object):
        model = MyModel

    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.fields['my_field'].required = True
Run Code Online (Sandbox Code Playgroud)