Django 1.7没有找到具有makemigrations的新模型

时间:2015-05-04 22:31:58

标签: python django django-migrations

我有一个包含多个应用程序和许多数据模型的项目。我使用的是Django 1.7和Python 2.7。

我已将模型组织成应用级模块。

- common/
  -- models/
    --- __init__.py
    --- these_models.py
    --- those_models.py

我在此结构中添加了一个新文件,而Django的makemigration命令未检测到更改。

如果我将新模型放在现有的模型文件中,那么迁移文件就会完美地创建,所有东西都会迁移并运行得很好。一旦我把它们放到一个新文件中,Django就找不到它们了。它们不在新应用中 - 它是现有的app/models/模块,只是一个新文件。我不会在import *或其他任何内容中__init__.py(ewwww)。

在Django 1.4中,我不得不使用Meta' app_label但不再这样做了。

有什么想法?我是否需要手动制作迁移文件(我没有问题)?

1 个答案:

答案 0 :(得分:5)

Django现在支持子文件夹中的模型,无需指定Meta classapp_label,但它仍然是python,并且不会神奇地加载models文件夹中的所有模块。

您仍然需要将模型导入app/models/__init__.py