我有一个Django 1.5表单,看起来像这样(简化):
class BidForm(forms.ModelForm):
class Meta:
fields = (
)
model = Bid
def __init__(self, *args, **kwargs):
super(BidForm, self).__init__(*args, **kwargs)
something()
当我对此运行Pylint时,我收到此错误:
E1002:<line,row>:BidForm.__init__: Use of super on an old style class
我认为这意味着Django的形式.ModelForm是一个旧式的类,根据python docs我对super的调用没有发生,因此是无关紧要的。这是真的?我可以删除超级通话吗?
答案 0 :(得分:9)
没有。尽管Pylint很棒,但它绝对不是万无一失的,在这种情况下它只是错了。 ModelForm是一个新的样式类,需要super。
答案 1 :(得分:6)
此错误/警告与ModelForm类无关,与以下内容有关:
class Meta:
fields = ()
model = Bid
您只需要取消警告:
class Meta: # pylint: disable=C1001
fields = ()
model = Bid