【发布时间】:2021-01-25 15:03:43
【问题描述】:
我有两个模型(类),一个继承自另一个。 GRESubjectCertificate 作为父级
class GRESubjectCertificate(LanguageCertificate):
quantitative = models.PositiveSmallIntegerField()
verbal = models.PositiveSmallIntegerField()
analytical_writing = models.DecimalField(
max_digits=2, decimal_places=1,
)
total = models.PositiveSmallIntegerField()
和 GREBiologyCertitificate 作为孩子:
class GREBiologyCertificate(GRESubjectCertificate):
cellular_and_molecular = models.PositiveSmallIntegerField()
organismal = models.PositiveSmallIntegerField()
ecology_and_evolution = models.PositiveSmallIntegerField()
我想通过较低的父类名称将 GREBiologyCertificate 中的对象转换为 GRESubjectCertificate,但它不起作用。我在此解决方案之前使用过将子对象转换为父对象,但现在失败了。
instance1 = GREBiologyCertificate()
instance2 = instance1.gresubjectcertificate
“GREBiologyCertificate”对象没有“gresubjectcertificate”属性
编辑1: 下面的例子没有问题。
class A():
number = models.PositiveSmallIntegerField()
class B(A):
factor = models.PositiveSmallIntegerField()
instance1 = B()
instance2 = instance1.a
instance2 将是 A 类的一个实例。
【问题讨论】:
标签: python django inheritance casting python-3.8