Почему Django Meta - класс старого стиля?
Я заметил, что в моделях Django существует class Meta
, который делает некоторые дополнительные определения относительно модели.
Мой вопрос: почему это делается как класс старого стиля? (т.е. не подклассы object
?) Есть ли причина для этого или это просто обычай? Могу ли я сделать это как класс нового стиля в моих проектах?
Ответы
Ответ 1
Я считаю, что нет никакой реальной причины (включая историю, поскольку классы нового стиля существуют с Python 2.2), и что вы не только можете использовать вместо этого класс нового стиля, но и, вероятно, это хорошая идея для вас это сделать (по всем обычным причинам).
Ответ 2
Так как класс Meta никогда не является чем-то вроде простого контейнера пространства имен, для объекта подкласса есть нулевое преимущество; всего восемь дополнительных символов для ввода. Не причиняйте вреда чему-либо, если это вам нравится.