我两天都在寻找如何制作它,而我发现的另一个问题不是我的问题。 我有3个型号:
class ProductBase(models.Model):
title = models.CharField(max_length=50) # and some code
class Serie(models.Model):
#some specific fields
productbase = models.OneToOneField(ProductBase, on_delete=models.CASCADE)
class Movie(models.Model):
#some specific fields
productbase = models.OneToOneField(ProductBase, on_delete=models.CASCADE)
管理员向我展示了ProductBase模型的创建/编辑表单,一个用于Serie模型,一个用于电影模型。但是我想为Serie / ProductBase Model展示一个Create / Edit Form,为Movie / ProductBase Model展示一个,所以创建一个serie,我创建一个ProductBase和一个Serie Model,以及它们之间的关系。我使用Inlines但是,对于de ProductBase而言,我无法使用不同的AdminModel和Inlines对ProductBAse进行两次注册。 另一种方式是打破两个型号Serie和Movie中的ProductBase,但这是一个糟糕的设计。 谢谢你的帮助 对不起我的英文
答案 0 :(得分:2)
我认为抽象模型正是您所寻找的。 p>
例如:
class AbstractProductBase(models.Model):
title = models.CharField(max_length=50)
class Meta:
abstract = True
class Serie(AbstractProductBase):
# some specific fields
class Movie(AbstractProductBase):
# some specific fields
来源:https://docs.djangoproject.com/en/1.9/topics/db/models/#abstract-base-classes