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

Почему Django Meta - класс старого стиля?

Я заметил, что в моделях Django существует class Meta, который делает некоторые дополнительные определения относительно модели.

Мой вопрос: почему это делается как класс старого стиля? (т.е. не подклассы object?) Есть ли причина для этого или это просто обычай? Могу ли я сделать это как класс нового стиля в моих проектах?

4b9b3361

Ответ 1

Я считаю, что нет никакой реальной причины (включая историю, поскольку классы нового стиля существуют с Python 2.2), и что вы не только можете использовать вместо этого класс нового стиля, но и, вероятно, это хорошая идея для вас это сделать (по всем обычным причинам).

Ответ 2

Так как класс Meta никогда не является чем-то вроде простого контейнера пространства имен, для объекта подкласса есть нулевое преимущество; всего восемь дополнительных символов для ввода. Не причиняйте вреда чему-либо, если это вам нравится.