为什么Django的Meta是一个老式的类?

Ram*_*hum 18 python django class

我注意到在Django模型中,有一个class Meta对模型做出了一些额外的定义.

我的问题是,为什么这是一个旧式的课程呢?(即不进行子类化object?)是否有这样的原因或这只是一个习惯?我可以在项目中作为新式课程吗?

Ale*_*lli 15

我相信没有真正的理由(包括历史,因为自从Python 2.2以来存在新风格的类),而且你不仅可以选择使用新式的类,而且对你来说这可能是一个好主意.这样做(出于所有通常的原因).


Car*_*yer 8

由于Meta类绝不是一个简单的命名空间容器,因此子类化对象没有任何优势; 只需输入八个额外字符.不过,如果你愿意的话,不会伤害任何事情.