Django继承自多个模型类

时间:2017-01-16 14:05:44

标签: django

所以我有一个基本的抽象模型类

class AbstractBase(models.Model):
    category = models.CharField()
    // Some fields

   class Meta:
       abstract = True

现在很多类都从这个Base继承。每个类别都有自己的字段

class Category1(AbstractBase):
      //some code



class Category2(AbstractBase):
          //some code

。    。    

class CategoryN(AbstractBase):
          //some code

现在我不希望为每个模型创建单独的内联等。

这是因为在管理员中,只需要显示其中一个模型,具体取决于它的类别。

class CategoryAdminInLine(nested.NestedTabularInline):
     model = Category
     fields = //some common fields

有没有简单的方法呢?

2 个答案:

答案 0 :(得分:0)

试试包django-polymorphic https://github.com/django-polymorphic/django-polymorphic 它为继承的模型添加了透明的admin和QuerySet集成。

答案 1 :(得分:0)

另一种解决方案是简单地从基类中删除abstract = True。 但是,我担心这可能不是正确的方法,因为它可能是复制和复制表格和东西,但如果表格不会变得太大,那就太棒了!..

根据它在这里完成的方式...... https://godjango.com/blog/django-abstract-base-class-multi-table-inheritance/