通常什么时候使用__init__
django 表单中的函数,因为我似乎不需要在__init__
表单中使用函数。通常,我可以创建一个表单,其中包含从forms
例如继承的字段forms.charfield
。那么,什么时候真正需要使用一个__init__
函数。
问问题
791 次
1 回答
2
大多数时候没有必要重写 该__init__
函数 - 请注意它已经在基表单类中定义。
如果您需要覆盖它,请确保您调用了超级对象的__init__
函数,否则您会严重破坏内容。
我发现覆盖该__init__
方法的最常见用例是根据某些条件动态定义或排除字段。这看起来像这样:
def __init__(self, *args, **kwargs):
super(FormClass, self).__init__(*args, **kwargs)
if self.object: # in case of ModelForm
self.fields['extra_field'] = forms.CharField(required=False)
self.fields['other_field'].required = True
del(self.fields['non_editable_field'])
于 2013-08-09T13:23:14.237 回答