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')"
Как решить эту проблему?
Ответы
Ответ 1
Решение - 1
Удалите файлы pyc из папки миграции.
Решение - 2
Необходимо удалить эту ссылку из testBolt.0001_initial, отредактировав файл миграции.
Решение - 3
Удалите новые изменения из моделей и запустите python manage.py migrate --fake
Теперь снова измените ваши модели с новыми изменениями
Запустите python manage.py makemigrations
А затем снова запустите 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
-
запустить python manage.py migrate --fake
-
Запустите python manage.py makemigrations
-
А затем снова запустите python manage.py migrate
это исправило мою гладко
Ответ 10
Это работает для меня в папке миграций вашего приложения
- Удалите все файлы pyc в папке вашего приложения (кроме
__init__
) -
Удалите все файлы в миграциях (кроме __init__
)
-
python manage.py makemigrations
-
python manage.py migrate
-
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.