Соглашения об именах Django FormSet и PEP8
Мне интересно, как я должен назвать свои определения набора форм. Скажем, у меня есть форма с именем UserForm, тогда я бы определил дополнительный набор форм, например:
UserFormSet = modelform_factory (User, UserForm, extra = 0)
Каждый пост здесь, касающийся формформ, кажется, называет их так, как указано выше.
Но PyCharm говорит мне, что это плохо, потому что UserFormSet не является определением класса.
Какой правильный путь?
1 ответ
С помощью наборов форм на веб-странице django вы правильно назначаете наборы форм. Проблема возникает из-за того, что PyCharm смотрит на присваивание Formset как типичную переменную, даже если это класс. Возвращаемое значение из modelform_factory выглядит следующим образом.
return type(form.__name__ + 'FormSet', (formset,), attrs)
# where
type(name, bases, dict)
Как видите, он возвращает класс, используя основы formset. Так что эта ошибка игнорируется или, если возможно, вы можете попытаться ее переопределить. Я не знаком с PyCharm, но это почти то, что они должны добавить исключение.