django - 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
解决方案
导入模型是不够的。想象一下,你只需要在 app2 的 models.py 中对 MyModel 做一些逻辑。创建另一个表没有意义。
您必须声明另一个从父模型继承的模型才能复制它。
from app1.models import MyModel
class MyShadowModel(MyModel):
...
推荐阅读
- reactjs - 将库 React 类组件转换为函数式组件
- python - 使用python获取谷歌驱动器文件夹中每个项目列表的简单方法
- mysql - 代码:1452。无法添加或更新子行:外键约束失败(`WW2`
- javascript - IIFE 中的常量变量的值在它之外被改变了吗?这怎么可能?
- android - Expo - “从 5 月 5 日开始,您必须让我们知道为什么您的应用需要广泛的存储访问权限”
- nginx - nginxproxy/nginx-proxy 未按预期解析 VIRTUAL_HOST
- python - 如何在 PyTorch 中组合 2 个学习率调度程序?
- visual-studio-2019 - 安装程序需要重新启动计算机,Visual Studio 才能在 VS2019 中运行
- c# - 反序列化锯齿状数组时如何应用ItemConverterType?
- javascript - 根据按下时间触发的各种 onclick 事件但具有相同的 clicked_id?