模型中的Django元声明

时间:2015-02-14 13:13:44

标签: python django

我不知道这两个Meta声明之间是否有任何区别:

class Car(models.Model):
    #...

    class Meta(object):  # <------- (1)
       #...

    class Meta:          # <------- (2)
       #...

哪一个是正确的,首选的?它取决于用途吗?

我使用python 2和3,以及Django 1.7 +。

1 个答案:

答案 0 :(得分:2)

不从任何东西继承的类称为旧式类

class old_style:
    pass

从object继承的其他类称为新式类

class new_style(object):
    pass

从新式类继承的类也是新式的,因为它们最终从对象继承:

class new_style(object):
    pass

class new_style2(new_style):
    pass

在python 3中,所有类都是新类(从对象继承),因此在python 3中:

class e(object):
    pass

class d:
    pass

e == d

您可以在此question

中详细了解他们的差异/用法