编写类似这样的模型似乎很常见:
from django.db import models
class Foo(models.Model):
name = models.CharField(max_length=100, null=False)
class Meta:
ordering = ("name")
是否有任何理由使用class Meta:
,而不是class Meta(object):
?有没有理由不明确继承object
?
除了Stephen的回答,请注意,从版本2.0开始,Django只支持Python 3;在那个版本的Python中,不需要从对象继承,所有类都自动“新风格”。
继承object
应该没有区别。模式:
class Foo():
class Meta:
attribute = 'This is Interesting'
主要是为了使以后的代码易于编写:
if Foo.Meta.attribute == 'How Boring':
....
在这种模式中,唯一的功能是访问Meta
的类属性,因此Meta
的任何其他功能可能无关紧要。