首页 > 解决方案 > Django - 在多个应用程序(多个表)中建模

问题描述

我正在尝试将模型从一个应用程序导入另一个应用程序,创建一个新表等。

# app1/models.py

class MyModel(models.Model):
   myfield = models.CharField(...)
   ...

# app2/models/__init__.py

from app1.models import MyModel as MyShadowModel

我所期望的:python manage.py makemigrations会看到变化app2并创建相应的表格。

背景

Django 项目应处理数据并使更改可见。它由两个应用程序组成:

app1包含已处理的数据 app2过程更改,并应显示其中的数据app1将是什么样子。

想法:app2将数据处理成“影子”模型。app1因此,我想使用与我的模型完全相同的模型app2

标签: djangodjango-models

解决方案


导入模型是不够的。想象一下,你只需要在 app2 的 models.py 中对 MyModel 做一些逻辑。创建另一个表没有意义。

您必须声明另一个从父模型继承的模型才能复制它。

from app1.models import MyModel

class MyShadowModel(MyModel): ...


推荐阅读