【发布时间】:2018-09-04 12:05:50
【问题描述】:
我正在开发一个关于 Django 的项目,但我遇到了一个问题。我做了一些错误的迁移,并决定从项目文件夹中删除它们并重建它们。既然我这样做了,Django 的行为“就像删除了它的一个源文件”。我尝试migrate、makemigration、runserver 的每个项目都会出现错误。我试图用 pip 重新安装 django,但它根本没有帮助。我还删除了.pyc 文件,但它根本没有帮助。我什至生成了新项目,但仍然在同一个问题上运行。我确实认为这很有帮助,但我不得不提到shell 启动正常。
错误
Performing system checks...
System check identified no issues (0 silenced).
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x1049a38c8>
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 123, in inner_run
self.check_migrations()
File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 427, in check_migrations
executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/executor.py", line 18, in __init__
self.loader = MigrationLoader(self.connection)
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/loader.py", line 49, in __init__
self.build_graph()
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/loader.py", line 267, in build_graph
raise exc
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/loader.py", line 241, in build_graph
self.graph.validate_consistency()
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/graph.py", line 243, in validate_consistency
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/graph.py", line 243, in <listcomp>
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/graph.py", line 96, in raise_error
raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration admin.0003_auto_20180326_1230 dependencies reference nonexistent parent node ('profile', '0003_auto_20180326_1230')
它表现得很奇怪,我仍然不明白是什么导致了这个问题。
更新
使用virtualenv 我设法让它工作。我用python3 设置了virtualenv,然后我只运行了makemigrations,它就像什么都没发生过一样。所以我猜是源文件有问题。另一方面,我仍然找不到导致问题的原因。
【问题讨论】:
-
这是一个不一致的迁移问题。检查这个stackoverflow.com/questions/44651760/…。 django的安装也与此无关。错误是因为你的错误。
-
是的,这是我的错误似乎很合乎逻辑,但是 Django 在每个项目上都失败了吗?
-
不,它不会失败。查看我评论中提到的链接,仔细阅读该问题和答案。如果您仍然遇到问题,请发表评论。
-
我尝试了您提到的问题中提出的所有解决方案,但没有任何效果。同样的错误一次又一次地出现......我什至删除了数据库。没有迁移文件,
makemigrations失败