Django makemigrations应用程序中未检测到任何更改

时间:2017-10-17 11:35:40

标签: django postgresql django-models makemigrations

我的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__中的所有文件,但它对我不起作用。

我甚至尝试删除数据库并创建新数据库,但它也不起作用。

编辑:

因为我删除了数据库并再次使其成为新数据库,所以数据库为空,但我仍然收到相同的消息。

3 个答案:

答案 0 :(得分:0)

我只是遇到了这样的问题。就我而言,问题是我通过pip安装了我正在开发的软件包的稳定版本,而Django正在导入稳定版本而不是开发版本。要检查您是否遇到这种情况,请尝试向models.py添加语法错误。如果makemigrations没有触发语法错误,那么您会知道python解释器甚至没有加载您的版本。

答案 1 :(得分:0)

如果您的模型不是从Django模型继承,那么您将看到上述错误。确保您的自定义模型继承自Django models.Model,类似这样。

from django.db import models

class Posts(models.Model):
    ...

答案 2 :(得分:-3)

删除数据库并创建新数据库将永远不会有效,因为它引用了以前的迁移文件。删除除 init 以外的所有先前迁移文件和 pycache 文件。然后尝试运行这些。

    python manage.py migrate --fake-initial
    python manage.py makemigrations
    python manage.py migrate

这对我有用

相关问题