Подтвердить что ты не робот

Django forms.ModelForm, Pylint и классы нового/старого стиля

У меня есть форма 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 forms.ModelForm - это класс старого стиля и для python docs мой призыв к супер не происходит и, следовательно, является посторонним. Это правда? Могу ли я просто удалить супер-вызов без эффекта?

4b9b3361

Ответ 1

Эта ошибка/предупреждение не имеет ничего общего с классом ModelForm и имеет отношение к:

    class Meta:
        fields = ()
        model = Bid

Вам просто нужно подавить предупреждение:

    class Meta:  # pylint: disable=C1001
        fields = ()
        model = Bid

Ответ 2

Нет. Пилинт, несмотря на это, далек от непогрешимости, и в этом случае он просто ошибся. ModelForm - это новый класс стиля и супер.