有没有办法让syncdb引入不在models.py中的模型?

时间:2012-01-13 02:34:33

标签: django django-syncdb

我的文件中填充了嵌入在我的应用程序深处的模型,而不是在models.py文件或模型目录中。

基本上它是指向遗留数据库上的表的文件,这就是我将其放在单独文件中的原因。

但是,现在我正在尝试设置测试版本,我需要能够通过syncdb创建所有表。

我有什么方法可以做到这一点吗?或者我必须使用SQL手动创建表吗?

2 个答案:

答案 0 :(得分:2)

temp_app / models.py

from my.deep.in.code.modelfile import model1
from my.deep.in.code.modelfile import model2

将temp_app添加到已安装的应用中(确保您在目录中也有 init .py)

运行Syncdb

从已安装的应用中删除temp_app

答案 1 :(得分:1)

额头拍打时间

好的,所以这部分是关键:如果您从项目的其他地方导入模型,而不是在普通的models.py文件中导入模型,请确保添加:

class Meta:
    app_label = 'foo'

否则,syncdb将忽略模型!

我确实尝试过Ted编写的内容,但出于某种原因,直到我添加了app_label部分,syncdb才能创建模型。