Подтвердить что ты не робот

Django: ссылка зависимостей несуществующий родительский node

Когда я запускаю следующую команду

python manage.py migrate

Я получаю эту ошибку от django, поэтому не могу шагнуть в мою практику:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
    output = self.handle(*args, **options)
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 63, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 17, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 48, in __init__
    self.build_graph()
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 241, in build_graph
    self.graph.add_dependency(migration, key, parent)
  File "/home/nikhil/testWeb-devEnv/local/lib/python2.7/site-packages/django/db/migrations/graph.py", line 42, in add_dependency
    raise KeyError("Migration %s dependencies reference nonexistent parent node %r" % (migration, parent))
KeyError: u"Migration testBolt.0001_initial dependencies reference nonexistent parent node (u'delivery_boy', u'0004_auto_20150221_2011')"

Как решить эту проблему?

4b9b3361

Ответ 1

Решение - 1

Удалите файлы pyc из папки миграции.

Решение - 2

Необходимо удалить эту ссылку из testBolt.0001_initial, отредактировав файл миграции.

Решение - 3

  1. Удалите новые изменения из моделей и запустите python manage.py migrate --fake

  2. Теперь снова измените ваши модели с новыми изменениями

  3. Запустите python manage.py makemigrations

  4. А затем снова запустите python manage.py migrate

Ответ 2

У меня был аналогичный случай, запускающий django в windows в виртуальном env. В моем случае отсутствующая зависимость была 0001_initial - она ​​определенно была в папке переноса.

"Решение" состояло в том, чтобы удалить файлы pyc и выполнить другую попытку переноса.

Ответ 3

У меня была та же проблема. В моем случае, потому что я играл с миграциями вручную, я забыл создать __init__.py внутри папки migrations.

Ответ 4

В моем случае у меня было расширение .py в имени модуля зависимостей, например:

dependencies = [
    ('dashboard', '0003_auto_20181024_0603.py'),
    ('auth', '__latest__'),
    ('contenttypes', '__latest__'),
]

Я удалил .py, изменив его на этот

    ('dashboard', '0003_auto_20181024_0603')

и это исправило.

Ответ 5

Убедитесь, что вы активировали свою виртуальную среду.

Ответ 6

KeyError: u"Migration testBolt.0001_initial dependencies reference nonexistent parent node (u'delivery_boy', u'0004_auto_20150221_2011')"

Удалить

testBolt.0001_initial

затем снова запустите миграцию

Ответ 7

При попытке выполнить команду migrate могут быть некоторые файлы миграции, оставшиеся в приложении. Сначала удалите все каталоги migrations из всех модулей. Для других случаев Никхил Райн все это покрыл.

Ответ 8

Я попробовал решения NIKHIL без удачи. Что сработало для меня:

  • Удаление моей виртуальной среды
  • Удаление папок миграции __pycache__
  • Удаление старых миграций
  • Воссоздание моей виртуальной среды
  • Запуск миграций

Ответ 9

  1. запустить python manage.py migrate --fake

  2. Запустите python manage.py makemigrations

  3. А затем снова запустите python manage.py migrate

это исправило мою гладко

Ответ 10

Это работает для меня в папке миграций вашего приложения

  1. Удалите все файлы pyc в папке вашего приложения (кроме __init__)
  2. Удалите все файлы в миграциях (кроме __init__)

  3. python manage.py makemigrations

  4. python manage.py migrate
  5. runserver

Ответ 11

Я переместил свою папку виртуальной среды. Поэтому я переместил ее туда, где она была, работал для меня.

Ответ 12

Я покажу вам решение следующим образом.

1

pip3 install django==2.2 --user

2

python manage.py runserver

Что это. Возможно, вы захотите использовать django версии не ниже 2.2. Я исправил ту же ошибку (часть содержимого отличается) после того, как я набрал команду.

Performing system checks...

System check identified no issues (0 silenced).
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x0000029C0D0D3EA0>
Traceback (most recent call last):
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\utils\autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\core\management\commands\runserver.py", line 120, in inner_run
    self.check_migrations()
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\core\management\base.py", line 442, in check_migrations
    executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\db\migrations\executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\db\migrations\loader.py", line 49, in __init__
    self.build_graph()
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\db\migrations\loader.py", line 273, in build_graph
    raise exc
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\db\migrations\loader.py", line 247, in build_graph
    self.graph.validate_consistency()
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\db\migrations\graph.py", line 243, in validate_consistency
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\db\migrations\graph.py", line 243, in <listcomp>
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "C:\Users\hogeuser\AppData\Roaming\Python\Python36\site-packages\django\db\migrations\graph.py", line 96, in raise_error
    raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration app.0001_initial dependencies reference nonexistent parent node ('auth', '0011_update_proxy_permissions')

Ответ 13

Перейдите в папку testBolt → migrations и удалите файлы 0001_initial py и pyc.