Skip to main content
 首页 » 编程设计

python之syncdb 忽略导入的模型

2025年05月04日14over140

我有一个项目,结构如下:

project/ 
   __init__.py 
   db/ 
      models/ 
         __init__.py 
         article.py 
         project.py 
         ontology/ 
            __init__.py 
            coded.py 

它有点大,但就是这样。 models.__init__.py 包含:

from db.models.article import * 
from db.models.project import * 
from db.models.ontology.coded import * 

运行 syncdb 时,它会忽略 models.__init__.py 中导入的所有模型。没有 ImportError,当向 __init__.py 添加打印语句时,它会愉快地打印导入模型(在运行 syncdb 时)。

在 __init__.py 中 定义 的模型仍然有效。

这是为什么呢?我可以强制 syncdb 考虑我导入的模型吗?

编辑:应用程序是在IN​​STALLED_APPS:

INSTALLED_APPS = ( 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'amcatnavigator.navigator', 
'amcatnavigator.db', 
) 

谢谢!

请您参考如下方法:

您需要将 app_label = 'db' 添加到模型的元内部类中。