django.db.migrations.exceptions.NodeNotFoundError

新手上路,请多包涵

当我运行 makemigrations 命令时,出现此错误:

 Traceback (most recent call last):
 ...
django.db.migrations.exceptions.NodeNotFoundError: Migration products.0002_auto_20160618_1143 dependencies reference nonexistent parent node (u'products', u'0001_initial')

原文由 ammy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 907
2 个回答

如果您打开迁移文件 products.0002_auto_20160618_1143 您将看到一个名为 dependencies 的部分:

 dependencies = [("products", "0001_initial")]

看起来像那样。这一行告诉 Django 当前文件依赖于那个文件。给出该错误消息的文件不存在。您可以尝试注释掉该行并再次运行该命令。请注意,如果缺少一个文件,则可能会丢失多个文件,因此您应该将依赖项与您实际拥有的文件进行协调。

免责声明:如果这是一个生产数据库,如果您不知道自己在做什么,那么弄乱迁移文件可能会很危险。您应该首先在暂存服务器或开发服务器上对此进行测试(最好是具有可以恢复到的快照的服务器)。

原文由 kylieCatt 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果在重置迁移后仍未解决,请按照以下步骤操作:显然 django 将迁移文件保存在它自己的模块文件夹中。这就是你需要刷新 django 的原因:

  1. pip 卸载 django。
  2. /Lib/site-packages,删除 django 文件夹。
  3. 删除了我项目中的所有 *.pyc 文件。
  4. 删除了我项目中的所有 pycache 文件夹。
  5. 清除了我项目中的所有迁移文件夹(保留 init .py)。
  6. pip 安装 django==xxx
  7. python 管理.py 迁移。
  8. python manage.py makemigrations .
  9. python 管理.py 迁移。
  10. python manage.py 运行服务器。现在你的问题将得到解决。

原文由 Lokraj Ghimire 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏