我有一个文件,其中包含嵌入在我的应用程序深处的模型,而不是在 models.py 文件或模型目录中。
基本上它是一个指向遗留数据库上的表的文件,这就是为什么我把它放在一个单独的文件中。
但是,现在我正在尝试设置测试版本,我需要能够通过 syncdb 创建所有表。
我有什么办法可以做到这一点吗?或者我必须使用 SQL 手动创建表吗?
我有一个文件,其中包含嵌入在我的应用程序深处的模型,而不是在 models.py 文件或模型目录中。
基本上它是一个指向遗留数据库上的表的文件,这就是为什么我把它放在一个单独的文件中。
但是,现在我正在尝试设置测试版本,我需要能够通过 syncdb 创建所有表。
我有什么办法可以做到这一点吗?或者我必须使用 SQL 手动创建表吗?
temp_app/models.py
from my.deep.in.code.modelfile import model1
from my.deep.in.code.modelfile import model2
将 temp_app 添加到已安装的应用程序(确保您在目录中也有init .py)
运行同步数据库
从已安装的应用程序中删除 temp_app
额头拍打时间
好的,所以这部分是关键:如果您确实从项目的其他地方导入模型,而不是在普通的 models.py 文件中,请确保添加:
class Meta:
app_label = 'foo'
否则,模型将被同步数据库忽略!
我确实尝试了 Ted 所写的内容,但由于某种原因,直到我添加了app_label
syncdb 能够创建模型的部分。