如何从Django中的子对象中选择基类(使用模型继承)

时间:2012-06-04 18:16:25

标签: django django-models django-inheritance

我有一个基础模型和一个继承它的模型,类似于设置:

class Archive(models.Model):
    pub_date = models.DateField()


class ArchiveB(Archive):
    another_date = models.DateField()

如何从子类访问基类?例如:

archiveb_instance = ArchiveB.objects.get(pk=5) 
base_instance = archiveb_instance.archive #This doesn't work.

根据文档,它只是在孩子中自动创建的一对一关系,所以我认为它会让我倒退。我想要这个的原因是因为我有第三个非Archive模型,它有一个外键来存档。我希望外键存档,因为这样第三个模型可以与任何存档相关联,而不仅仅是特定的存档类型。

2 个答案:

答案 0 :(得分:1)

我认为您可能正在寻找archiveb_instance.archive_ptr

答案 1 :(得分:0)

他们共享相同的PK,因此只需将其分配给附加_id的字段。