python - template - Django: las dependencias hacen referencia al nodo padre inexistente
ifequal django (8)
Asegúrese de que ha activado su entorno virtual.
Cuando ejecuto el siguiente comando
python manage.py migrate
Recibo este error de django, así que no puedo avanzar en mi práctica:
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'')"
¿Cómo resuelvo este problema?
En mi caso, tenía la extensión .py
en el nombre del módulo de dependencia, como este:
dependencies = [
(''dashboard'', ''0003_auto_20181024_0603.py''),
(''auth'', ''__latest__''),
(''contenttypes'', ''__latest__''),
]
.py
el .py
, cambiándolo a este
(''dashboard'', ''0003_auto_20181024_0603'')
Y eso lo arregló.
Es posible que queden algunos archivos de migración en la aplicación cuando probó el comando migrar. Primero elimine todos migrations
directorios de migrations
de todos los módulos. Para otros casos Nikhil Rane lo ha cubierto todo.
Probé las soluciones de NIKHIL sin suerte. Lo que funcionó para mí fue:
- Eliminando mi entorno virtual
- Eliminar las carpetas de migración
__pycache__
- Borrando migraciones antiguas
- Recreando mi entorno virtual
- Ejecutando migraciones
Tuve un caso similar, ejecutando django en windows en un entorno virtual. En mi caso, la dependencia que faltaba era 0001_initial, que definitivamente estaba allí en la carpeta de migración.
La ''solución'' fue eliminar los archivos pyc y hacer otro intento de migración.
Vaya a la carpeta testBolt -> migrations y elimine 0001_initial py y pyc files.
Yo tuve el mismo problema. En mi caso, debido a que jugué con migraciones manualmente, olvidé crear __init__.py
dentro de la carpeta de migrations
.
Solución - 1
Elimine los archivos pyc de su carpeta de migraciones.
Solución - 2
Debe eliminar esa referencia de testBolt.0001_initial editando el archivo de migración.
Solución - 3
Elimine los nuevos cambios de los modales y ejecute
python manage.py migrate --fake
Ahora vuelve a modificar tus modelos con nuevos cambios.
Ejecutar
python manage.py makemigrations
Y luego ejecuta
python manage.py migrate