The error
I get when I try to runserver
for my django app is as follows:
django.db.migrations.graph.NodeNotFoundError: Migration tasks.0001_initial dependencies reference nonexistent parent node (u'auth', u'0007_alter_validators_add_error_messages')
This happened after I followed this heroku tutorial: https://devcenter.heroku.com/articles/getting-started-with-django
I modified the settings file to include:
import dj_database_url
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
#DATABASES['default'] = dj_database_url.config()
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'tasks/static'),
)
My 0001_initial
migration is as follows:
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('auth', '0007_alter_validators_add_error_messages'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
I'm lost as to what I should try next to fix this error. Advice appreciated! Thank you!
your migration has a dependency on a migration in another app () which apparently doesn't exist. if you've removed or moved/consolidation migrations in the 'auth' app, this is possibly why. if you remove the offending migration from this migration, just make sure changes from the '0007' migration in the auth package (check your source code revision history) have already been applied to your current database and you should be fine to continue without that explicit migration. i would also consider checking if any other apps in your project depend on those missing migrations from 'auth'. cheers.
(u'auth', u'0007_alter_validators_add_error_messages')
It worked for me with pip install --upgrade django
I got the same error on installing a new package which also downgraded my Django to version 1.8.16
pip install --upgrade django
installed back the 1.10.3 version (on which I had been working ever since I started with my project) and that solved the problem.
Your error indicates that tasks
application has a migration that can't be found.
That's mean, that you are missing some applications in INSTALLED_APPS
- most probably you do not have 'django.contrib.auth' in this list.
First I would suggest you to upgrade your django
pip install --upgrade django
If this doesn't help you then try the following:
- Remove the new changes from the modals and run
--
python manage.py migrate --fake
- Now again modify your models with new changes and Run
--
python manage.py makemigrations
- And then again run
--
python manage.py migrate