如果类在不同的文件中,如何扩展Django Meta类?

时间:2010-11-22 15:56:51

标签: django-models

Django的文档说:

class CommonInfo(models.Model):
    ...
    class Meta:
        abstract = True
        ordering = ['name']

class Student(CommonInfo):
    ...
    class Meta(CommonInfo.Meta):
        db_table = 'student_info'

但是,如果CommonInfo和Student在不同的文件中,我该如何处理?目前,我的学生档案似乎是

from CommonInfo import CommonInfo
class Student(CommonInfo):
    ...
    class Meta(CommonInfo.Meta):
        db_table = 'student_info'

但这就是抛出'AttributeError:Type object“CommonInfo”没有属性“Meta”'

1 个答案:

答案 0 :(得分:2)

Model中使用的元类从类定义中剥离Meta内部类,因此它不能以这种方式提供以供进一步使用。将其定义为单独的类,并在其他地方需要时将其分配给Meta类属性。