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 有效,您需要提供更多信息,请给我留言并告诉我
祝你好运
我刚刚开始使用 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 有效,您需要提供更多信息,请给我留言并告诉我
祝你好运