django.db.migrations.exceptions.NodeNotFoundError

If it not solve after reseting the migrations, follow the following steps: Apparently django kept migration files within it's own module folder. This is why you need to flush the django:

  1. pip uninstall django.
  2. /Lib/site-packages, deleted django folder.
  3. Deleted all *.pyc files in my project.
  4. Deleted all pycache folders in my project.
  5. Cleared all migrations folders in my project (keep init.py).
  6. pip install django==x.x.x.
  7. python manage.py migrate.
  8. python manage.py makemigrations <app_name>.
  9. python manage.py migrate.
  10. python manage.py runserver. Now your problem will be solved.

If you have not any serious data in your database, you can simply reset your migrations, as it's been explained here.


If you open the migration file products.0002_auto_20160618_1143 you will see a section called dependencies:

dependencies = [("products", "0001_initial")]

Which will look like that. This line tell Django that the current file depends on that file. A file that given that error message isn't there. You can try commenting out that line and running the command again. Be aware that if one file is missing it's possible many are missing so you should reconcile your dependencies with what files you actually have.

DISCLAIMER: If this is a production DB messing around with migration files can be dangerous if you don't know what you are doing. You should test this on a staging or dev server first (preferably one that has a snapshot you can restore to).

Tags:

Python

Django