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

2 Solutions collect form web for “Django forms.ModelForm, Pylint и классы нового / старого стиля”

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

  class Meta: fields = () model = Bid 

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

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

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

  • Как заставить PyLint распознавать члены numpy?
  • Pylint False Positive E1101: экземпляр «Popen» не имеет участника опроса
  • Настройка файла pylint config.rc по умолчанию в Windows
  • Pylint: избегайте проверки INSIDE DOCSTRINGS (глобальная директива / rcfile)
  • Как установить максимальную допустимую длину строки Python до 120 в Syntastic для Vim?
  • Является ли docstring макс длина строки отличной от обычного стандарта PEP8?
  • Лучшие рекомендации PyLint?
  • Лучшая практика для установки значения по умолчанию для параметра, который должен быть списком в Python?
  • Python - лучший язык программирования в мире.