【问题标题】:Django inheriting from multiple model classesDjango 从多个模型类继承
【发布时间】:2017-01-16 14:05:44
【问题描述】:

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

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

有什么简单的方法吗?

【问题讨论】:

    标签: django


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      另一种解决方案是简单地从基类中删除 abstract=True。 但是,恐怕这可能不是正确的方法,因为它可能会复制表格和其他东西,但如果表格不会变得太大,效果会很好!..

      根据这里的做法..https://godjango.com/blog/django-abstract-base-class-multi-table-inheritance/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-05
        • 1970-01-01
        • 1970-01-01
        • 2013-04-20
        • 1970-01-01
        • 2021-06-18
        • 1970-01-01
        相关资源
        最近更新 更多