Django: dépendances de référence inexistante nœud parent
Quand je lance la commande suivante
python manage.py migrate
Je reçois cette erreur de django ne peut donc pas avancer dans ma pratique:
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')"
Comment puis-je résoudre ce problème?
- Alors, avez-vous une migration appelé 0004_auto_20150221_2011 dans le delivery_boy application?
- Il n'y a pas de migration 0004_auto_20150221_2011 dans mon delivery_boy app.
- Eh bien, ce qui explique l'erreur, alors. Maintenant, vous devez le supprimer de référence de frshBolt.0001_initial et d'enquêter sur pourquoi vous avez cette dépendance en premier lieu.
- merci cela fonctionne.
- pouvez-vous s'il vous plaît ajouter comme une réponse de sorte qu'il peut être accepté (et question résolue) ?
- À partir du message d'erreur, nous pouvons voir que l'erreur est provoquée par frshBolt.0001_initial dépendances. Retrait frshBolt.les migrations résolu le problème pour moi..
Vous devez vous connecter pour publier un commentaire.
Solution - 1
Supprimer pyc des fichiers à partir de votre migrations dossier.
Solution - 2
Besoin d'enlever cette référence de testBolt.0001_initial en éditant le fichier de migration.
Solution - 3
Supprimer les nouveaux changements de la modaux et exécuter
python manage.py migrate --fake
Maintenant à nouveau de modifier vos modèles avec de nouveaux changements
Exécuter
python manage.py makemigrations
Et puis exécutez à nouveau
python manage.py migrate
J'ai eu un cas similaire, l'exécution de django dans windows en virtuel env. Dans mon cas, la dépendance manquante a été 0001_initial - qui était là, dans la migration dossier.
La "solution" a été de retirer le pyc fichiers et de faire une autre migrer tentative.
J'ai eu le même problème. Dans mon cas, parce que j'ai joué avec les migrations manuellement, j'ai oublié de créer
__init__.py
à l'intérieur demigrations
dossier.Dans mon cas, j'ai eu l'
.py
extension dans la dépendance du module nom, comme ceci:J'ai enlevé le
.py
, le changer pour cetteet qu'il fixe.
Assurez-vous que vous avez activé votre environnement virtuel.
... initial dependencies reference nonexistent parent node (u'auth', u'0008_alter_user_username_max_length')
Supprimer
exécutez ensuite migrer de nouveau
Il pourrait y avoir certains fichiers de migration en restant dans l'application lorsque vous avez essayé la migrer de commande. D'abord supprimer tous les
migrations
les répertoires de tous les modules. Pour les autres cas Nikhil Rane a couvert tout cela.J'ai essayé NIKHIL solutions avec pas de chance. Ce qui a fonctionné pour moi a été:
__pycache__
dossiersCela fonctionne pour moi
Dans votre application migrations dossier
__init__
)Supprimez tous les fichiers dans les migrations (à l'exception de la
__init__
)python manage.py makemigrations
python manage.py migrate
runserver
Aller au dossier testBolt -> migrations et supprimer 0001_initial py et pyc fichiers.