python - KeyError : u"Migration rango. 0002_auto_20150905_0345 依赖引用不存在的父节点

标签 python mysql django

我是 django 的新手,开始弄乱一些东西看看会发生什么。问题是我现在有点搞砸了,希望得到帮助。

我手动删除了一些迁移然后运行

manage.py squashmigrations app migration_name

并更改了一些迁移,然后再次运行命令。 问题是现在我正面临这个小错误。最后一次迁移将另一个迁移引用为父迁移,但它现在不存在。

(kali)maker@localhost:~/Poker/tango_with_django_project$ sudo python manage.py migrate       
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
 File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/migrate.py", line 63, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/executor.py", line 17, in __init__
self.loader = MigrationLoader(self.connection)
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/loader.py", line 48, in __init__
self.build_graph()
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/loader.py", line 237, in build_graph
self.graph.add_dependency(migration, key, parent)
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/graph.py", line 46, in add_dependency
"Migration %s dependencies reference nonexistent parent node %r" % (migration, parent)
KeyError: u"Migration rango.0002_auto_20150905_0345 dependencies reference nonexistent parent node (u'rango', u'0001_squashed_0004_auto_20150904_2325')"

最佳答案

就我而言,

  1. 删除数据库(请备份/导出数据)
  2. 删除migrate文件夹中的*.pyc文件
  3. 删除迁移文件夹中的迁移文件,除了init.py
  4. 新建同名数据库
  5. 给用户db权限
  6. 进行迁移
  7. 迁移
  8. 创建 super 用户
  9. 运行服务器

最后,它起作用了。

关于python - KeyError : u"Migration rango. 0002_auto_20150905_0345 依赖引用不存在的父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32409380/

相关文章:

python - python中时间序列数据的存储

php - Mysql Truncate Table,自动增量不起作用

python - Django ORM 对两列求和以填充第三列

django admin 不会将对象添加到 Manytomany 字段中

python - 无法更改应用引擎应用程序中的前端实例类

python - 将文件名转换为文件 ://URL

mysql比较列和子查询

mysql - 将 Double 类型的数据直接从 C 发送到 MySQL

python - FloatField 在 Django 中返回 str 对象而不是 Float

python - 在 Google Compute Engine 上使用 python 3.6 部署 Django 1.10 应用程序