admin中的一对一模型字段

时间:2011-05-30 10:33:30

标签: django django-admin

这个问题已经以某种形式出现,但我找不到明确的答案。

假设我有这个:

class BaseModel(models.Model):
    base_field = models.CharField(max_length=10)

class ExtendedModelA(models.Model):
    extended_field_a = models.CharField(max_length=10)
    base = models.OneToOneField(BaseModel)

class ExtendedModelB(models.Model):
    extended_field_b = models.CharField(max_length=10)
    base = models.OneToOneField(BaseModel)

问题是,当我点击BaseModel个实例中的任何一个时,如何在管理界面中编辑ExtendedModel字段。

我知道我可以将ExtendedModel引用为来自Base的内联,但这对我来说没有多大意义,因为我想创建ExtendedModelA/B来自{{1}的“继承”内容}}

在Google上搜索我在DjangoSnippets上找到了一个解决方案,但是自1.1+以来这种方法不起作用,并且需要修补Django,这很难看。

除了我之外,每个人都知道这件事是非常简单的事情,还是没有人知道这一点?...

1 个答案:

答案 0 :(得分:2)

尝试使用multi table inheritance。它做你想要的。