繁体   English   中英

在子类中使用主类的属性?

[英]Use main class' properties in subclass?

样品:

from django.db import models


class BaseModel(models.Model):
    CHOICES = ((0, 'nope'),
               (1, 'yep'),)
    # ...


class P(BaseModel):
    p = models.SmallIntegerField(default=1, choices=BaseModel.CHOICES)

如果我只使用BaseModel则不必继承BaseModel.CHOICES但是我必须继承它,因为还有其他列。

如何让P继承CHOICES属性而不是使用其父亲的CHOICES

在您的示例中, p不是继承字段,因此它无法“继承” BaseModel任何BaseModel P (子类) 继承CHOICESBaseModel但其中场点p定义的P类不存在(这只会存在结束之后class的语句体),所以你不能引用P.CHOICES在此时,由于在P类语句的主体中未定义名称CHOICES ,因此您也不能引用它。 因此,基本上,您的摘录是简单明了的简单解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM