当我尝试error
获取我的django应用时,我得到的runserver
如下:
django.db.migrations.graph.NodeNotFoundError:迁移tasks.0001_initial依赖项引用不存在的父节点(u' auth',u' 0007_alter_validators_add_error_messages')
这是在我遵循这个heroku教程后发生的:https://devcenter.heroku.com/articles/getting-started-with-django
我修改了设置文件以包含:
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'),
)
我的0001_initial
迁移如下:
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),
]
我迷失了接下来我应该尝试修复此错误的内容。建议赞赏!谢谢!
答案 0 :(得分:2)
您的迁移依赖于另一个app()中的迁移,该app(显然不存在)。如果您在'auth'应用中删除或移动/合并迁移,这可能就是原因。如果您从此迁移中删除了违规迁移,只需确保auth包中的'0007'迁移(检查您的源代码修订历史记录)中的更改已经应用于您当前的数据库,您应该没有明确的继续移民。我还会考虑检查项目中的任何其他应用程序是否依赖于“auth”中缺少的迁移。干杯。
(u'auth', u'0007_alter_validators_add_error_messages')
答案 1 :(得分:1)
pip install --upgrade django
我在安装新软件包时遇到了同样的错误,该软件包也将我的Django降级为版本1.8.16
pip install --upgrade django
安装了1.10.3版本(自从我开始使用我的项目以来我一直在工作),这解决了这个问题。
答案 2 :(得分:0)
您的错误表明tasks
应用程序无法找到迁移。
这意味着,你遗漏了INSTALLED_APPS
中的一些应用程序 - 很可能你在这个列表中没有'django.contrib.auth'。
答案 3 :(得分:0)
首先我建议你升级你的django
pip install --upgrade django
如果这对您没有帮助,请尝试以下操作:
python manage.py migrate --fake
python manage.py makemigrations
python manage.py migrate