我正在将我的django项目从django1.5
升级到django1.11.10
。在我运行./manange.py migrate
时进行升级,我得到了django.db.migrations.exceptions.NodeNotFoundError
django.db.migrations.exceptions.NodeNotFoundError: Migration account.0004_auto_20180419_1309 dependencies reference nonexistent parent node (u'admin', u'0003_advertisements_alignedcourses_api_integration_appreciation_certificate_company_company_types_contrib')`enter code here`
这是我的项目结构
管理员/ apps.py
class AdminConfig(AppConfig):
name = 'apps.admin'
label = 'admin_app'
帐户/ apps.py
class AccountConfig(AppConfig):
name = 'account'
label = 'account_app'
我为所有管理模型添加了元属性
class Meta:
'''
Meta properties for this model
'''
app_label = 'admin_app'
我无法从我的项目中找到任何迁移文件,而且我遵循了我在互联网上找到的一些解决方案。
django.db.migrations.exceptions.NodeNotFoundError Migration authentication nonexistent parent node
Can't get rid of "nonexistent parent node" in django 1.11
我重新安装了django.Deleted所有.pyc
个文件。删除了所有迁移文件。我仍然得到同样的错误。请帮助我,你可以解释它为什么会发生吗?
答案 0 :(得分:0)
可能您的应用程序名称相同 - 您自己的应用名为admin
和django.contrib.admin
。无论什么是应用程序最终部分的完整python路径是重要的部分,并且需要在整个项目中是唯一的。
您可以尝试更改与django或其他第三方应用程序冲突的应用程序label
的{{1}}。
看看Django文档 https://docs.djangoproject.com/en/1.11/ref/applications/#django.apps.AppConfig.label
<强> AppConfig.label 强>
应用程序的简称,例如&#39;管理&#39;
当两个应用程序具有冲突标签时,此属性允许重新标记应用程序。它默认为name的最后一个组件。它应该是一个有效的Python标识符。
它在Django项目中必须是唯一的。
和Django的源代码https://github.com/django/django/blob/stable/1.11.x/django/apps/config.py#L31-L34
AppConfig