我有一个Django表格的基类。然后子类从父级继承,包括所有字段,但我需要更改父级的一个字段选项,例如label
,required
等。
示例:
class BaseForm(forms.Form):
userid = forms.CharField(required=True)
class ChildForm(BaseForm):
# I need to change the parent field option
userid = forms.CharField(required=False)
有什么建议吗?
答案 0 :(得分:3)
你正在做你应该做的事情。
在这种情况下特别适合,因为这是覆盖ModelForm
字段的确切模式。
如果您需要保留您不了解/不在控制之外的属性(或者您拥有的属性),则可以覆盖__init__
方法并通过self.fields['myfield']
访问表单字段p>
class ChildForm(BaseForm):
def __init__(self, *args, **kwargs):
super(ChildForm, self).__init__(*args, **kwargs)
self.fields['userid'].required = False