具有多重遗产的 Django 管理员

Django admin with multiple heritage

我有以下class

class master(models.Model):
    topic = models.ManyToManyField('Topic')

class child1(master):
    question = models.CharField(max_length=100, null=False)

class child2(master):
    answer_display = models.CharField(max_length=300, null=False)

在 django 管理中,我希望添加一个对象 child1,同时添加一个对象 child2,它们具有与父模型给定的相同 ID。

我应该怎么做?

编辑: 如果我创建一个对象 child1 和一个对象 child2,我没有我希望的主 ID

我有点不清楚你想要什么,但如果你想 link 2 "childs" 到 "parent",你可以创建一个 ForeignKey 两个孩子上的字段,并将其用于 link 到 "parent" 模型。

此外,如果您希望您的 child1 和 child2 模型继承自 master 模型,它的 class Meta 中必须包含 abstract = True

class master(models.Model):
    topic = models.ManyToManyField('Topic')

    class Meta:
        abstract = True

class child1(master):
    question = models.CharField(max_length=100, null=False)

这不是组织我的模块的好方法

我改成那样

class master(models.Model):
    topic = models.ManyToManyField('Topic')

class child1(child2):
    question = models.CharField(max_length=100, null=False)

class child2(master):
    answer_display = models.CharField(max_length=300, null=False)