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

时间:2010-01-05 09:45:17

标签: python django class

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

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

2 个答案:

答案 0 :(得分:15)

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

答案 1 :(得分:8)

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