Django 1.10 没有检测到我的模型中的变化,也不会创建迁移

Django 1.10 is not detecting changes in my models, and won't create migrations

我刚刚开始使用 Django。我喜欢搞事情,所以除了民意测验教程之外,我还构建了自己的实验性应用程序。我想更改实验应用程序及其关联项目的名称。

在此过程中,我决定放弃当前的数据库并重新开始。出了点问题,我不记得是什么了。现在已经几个小时了,这里取得进展,谷歌搜索那里。

我现在的处境似乎是 Django 拒绝注意到我 models.py 的变化。目前,当我 运行 manage.py showmigrations 时,没有为应用程序列出迁移,尽管应用程序本身已列出。

我试过删除迁移目录、更改 models.py 文件的内容及其组合,还尝试了各种看起来很有希望的 manage.py 命令。到目前为止,没有任何效果。

那么,我可能做错了什么?请记住,我已经更改了应用程序的名称,其中包括更改其存储目录的名称以及数据库的名称。对项目和应用程序中的文件进行了搜索和替换。 settings.py 已经仔细研究过,但我所知道的一切似乎都很吻合。

谢谢!

我假设您已经在 settings.py 中更改了您的应用程序名称?当你说你改变了你的应用程序名称时,你是否开始了一个新的应用程序或一个新项目......意思是,当你开始时你这样做:

django-admin.py startproject myproject

运行 startproject 为您提供以下文件夹和文件结构:

    ├── manage.py
    └── myproject
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py

从那里,您可以 运行

python manage.py startapp myapp

这将使您的文件夹结构如下所示:

    ├── manage.py
    ├── my_django15_project
    │   ├── __init__.py
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    └── myapp
        ├── __init__.py
        ├── models.py
        ├── tests.py
        └── views.py

从那里,您可以更改您的应用程序,方法是将文件夹名称 'myapp' 更改为 'mynewapp',然后修改您的 settings.py 以在您的 INSTALLED_APPS节。

完成后你应该运行

pythonmanage.py makemigrations mynewapp

验证它是否生成了迁移文件

然后 运行

python manage.py migrate

如果您将文件夹 myproject 更改为新名称,例如 mynewproject,我建议尝试将其名称改回原来的名称,然后 运行ning

django-admin.py startproject mynewproject

然后在你这样做之后,相应地更新这些文件,并将你的 myapp 文件夹复制到 mynewproject 文件夹中。

您可能需要检查的其他一些事情是您的数据库连接器是否正确,并尝试重新启动您的网络服务器。

如果 none 有效,您需要提供更多信息,请给我留言并告诉我

祝你好运