我的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__
中的所有文件,但它对我不起作用。
我甚至尝试删除数据库并创建新数据库,但它也不起作用。
因为我删除了数据库并再次使其成为新数据库,所以数据库为空,但我仍然收到相同的消息。
答案 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
这对我有用