makemigrations 无法检测到 django 中的变化

Posted

技术标签:

【中文标题】makemigrations 无法检测到 django 中的变化【英文标题】:makemigrations can't detect change in django 【发布时间】:2022-01-15 15:57:48 【问题描述】:

我知道有很多类似的问题:但我会尽可能简单地描述我的问题。

这是我要迁移的应用程序。

这是我的设置.py

当我输入 makemigrations 时会发生这种情况(在我的模型中添加一个字段之后)

当我输入 showmigrations 时会发生这种情况(在我的模型中添加一个字段之后)

我已经使用 pip 重新安装了 django,我已经创建了新的应用程序,我已经创建了新的项目,新的 venv,我什至已经重新安装了 python 本身,都是一样的故事。 我怀疑我的 django 源代码已损坏,但是当我使用 pip 安装 django 时,它使用之前下载的文件而不是下载新文件。相信我,我已经尝试了新手可能尝试的所有方式,有人可以告诉我如何重新下载 django 本身,或者比我聪明的人知道现在发生了什么。 谢谢!

【问题讨论】:

尝试使用应用名称。 python manage.py makemigrations app_name 如果指定应用名称不起作用,可以显示app/models.py的内容吗? 你是我的救星! @伊恩谢尔文顿 【参考方案1】:

谢谢你们所有的支持!在网上苦苦寻找答案后,我终于成功了!!!这是由于模型的变化,我确实创建了一个新课程,但是

>我忘记从model.Model继承了 我不得不说,这真的很搞笑和愚蠢。但这让 django 无法将我的类视为模型,从而导致无法检测到变化。不得不说这真的是新手专属问题。

【讨论】:

【参考方案2】:

你应该试试

python manage.py migrate
python manage.py makemigrations app

除此之外,如果您的应用程序正常运行,那么如果 Django 没有发现要应用的迁移,您也不用担心。

【讨论】:

以上是关于makemigrations 无法检测到 django 中的变化的主要内容,如果未能解决你的问题,请参考以下文章

makemigrations 显示未检测到更改

makemigrations 响应 指定 app_label 时未检测到更改

Django中的Python社交身份验证,makemigrations检测到没有变化

Django makemigrations 未检测到项目/应用程序/myapp

python manage.py makemigrations 没有检测到变化?

Heroku 上的 Django 1.7:如何让 makemigrations 重新扫描数据库?