【发布时间】:2018-03-29 02:07:31
【问题描述】:
我的 makemigrations 命令有问题。
注意:我已经成功迁移到现在,所以这不是我第一次尝试在这个项目上进行迁移。
我的项目在 INSTALLED_APPS 中。
问题:由于某种原因,项目停止检测我的模型中的任何更改。
在我的项目 models.py 中,我有:
from myproject.myfolder import myModel1
from myproject.myfolder import myModel2
from myproject.myfolder import myModel3
如果将新模型添加为 myModel4 类并将其导入 models.py 中,我会尝试
python mamange.py makemigrations environment=local
我收到No changes detected
我知道有很多关于进行初始迁移的帖子,所以我什至尝试
python manage.py makemigrations myproject environment=local
我什至尝试删除__pycache__ 中的所有文件,但这对我不起作用。
我什至尝试删除数据库并创建新数据库,但它也不起作用。
编辑:
因为我删除了数据库并重新创建,数据库是空的,但我仍然收到相同的消息。
【问题讨论】:
-
为什么是
environment?myProjectLabel在您的设置 INSTALLED_APPS 中吗? -
是的。正如我所写,这不是第一次迁移。标签环境适用于不同的部署阶段。为每个阶段编写不同的设置(如数据库)
-
很抱歉,如果它令人困惑。我只是尽量避免这样的建议:你需要在apps.py中写下应用程序的名称。在其他帖子中,这很常见。我编辑帖子。
-
您是否为要导入
myproject/models.py的新模型设置了app_label = 'myproject'? -
嗯。你的进口很奇怪。所以你在models.py之外定义了class Foo(models.Model),对吧?尝试:从 myApp.myModelFile 导入 Foo。为此,您需要与 models.py 处于同一级别的 myModelFile。如果它在文件夹中,您应该在其中放置一个空的 init.py 文件,并且: from myApp.myFolder.myModelFile import Foo.
标签: django postgresql django-models makemigrations