【问题标题】:Django 1.10 is not detecting changes in my models, and won't create migrationsDjango 1.10 没有检测到我的模型中的变化,也不会创建迁移
【发布时间】:2017-02-08 04:22:04
【问题描述】:

我刚刚开始使用 Django。我喜欢破解一些东西,所以除了投票教程之外,我还在构建自己的实验应用程序。我想更改实验应用程序及其关联项目的名称。

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

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

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

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

谢谢!

【问题讨论】:

  • manage.py makemigrations new_app_name 带给你什么?
  • @AndreyShipilov: App 'new_app_name' could not be found. Is it in INSTALLED_APPS?
  • 这是您将其重命名为的应用的名称...

标签: django django-models django-migrations


【解决方案1】:

我假设您在 settings.py 中更改了应用名称?当您说您更改了应用名称时,您是启动一个新应用还是一个新项目...意思是,当您开始时,您会这样做:

django-admin.py startproject myproject

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

├── 管理.py └── 我的项目 ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py

从那里,你可以运行

python manage.py startapp myapp

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

├── 管理.py ├── my_django15_project │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── myapp ├── __init__.py ├── 模型.py ├── 测试.py └──views.py

从那里,您可以通过将文件夹名称“myapp”更改为“mynewapp”,然后修改您的 settings.py 以在 INSTALLED_APPS 部分中列出“mynewapp”来更改您的应用。

完成此操作后,您应该运行

pythonmanage.py makemigrations mynewapp

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

然后运行

python manage.py migrate

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

django-admin.py startproject mynewproject

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

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

如果这些都不起作用,您需要给我更多信息,所以请给我留言并告诉我

祝你好运

【讨论】:

  • 当我决定重命名时,我选择简单地更改应用程序文件夹的名称,然后对我的所有应用程序文件运行搜索和替换。我之所以选择这个,是因为它似乎比将我的代码从旧应用程序复制到新应用程序更简单。我将尝试制作一个全新的应用程序并移动我的代码。不过,我将保留我一直在使用的项目。如果这不起作用,那么我将尝试一个新项目。
  • 重新制作应用程序并移动代码似乎可以做到这一点。这包括刷新数据库。谢谢蒂姆!
  • 没问题,我很高兴它成功了。我不知道你为什么要经历那个,因为我已经完全按照你所说的做了(重命名、查找和替换)并且没有问题,但是,有很多事情我认为建议可能更简单this :) 玩得开心学习 django,这是一个很棒的框架。
猜你喜欢
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 2015-09-05
  • 1970-01-01
相关资源
最近更新 更多