Django模型继承结构

时间:2018-03-21 03:53:39

标签: django django-models

我是Django模型的新手,需要有关如何最好地构建模型的建议。 我的网站有服务,每个服务有多个计划。每个公司可以有多个服务,一个服务计划。这是我的基本结构

class BaseService(models.Model):
   some fields

class ServiceA(BaseService):
   some fields/methods

class ServiceB(BaseService):
   some fields/methods

我的服务计划结构相同。

以下是我的问题: 这是对的 2.我如何访问公司的所有服务

谢谢

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

class BaseService(models.Model):
    common_field = ...

    class Meta:
        abstract = True

class ServiceA(BaseService):
    some fields/methods

class ServiceB(BaseService):
    some fields/methods

所以基本上你的ServiceA和ServiceB会自动从BaseService获得common_field。并且BaseService不会存储在您的数据库中