Соглашения об именах 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, но это почти то, что они должны добавить исключение.

Другие вопросы по тегам