【问题标题】:Django NodeNotFoundError at every project每个项目的 Django NodeNotFoundError
【发布时间】:2021-01-06 15:47:11
【问题描述】:

我在一个项目中“破坏”了迁移,所以我删除了它,现在每次我运行 python3 manage.py <action>(无论在哪个项目),

我明白了:

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/utils/autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 121, in inner_run
    self.check_migrations()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/base.py", line 459, in check_migrations
    executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/migrations/loader.py", line 53, in __init__
    self.build_graph()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/migrations/loader.py", line 255, in build_graph
    self.graph.validate_consistency()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/migrations/graph.py", line 195, in validate_consistency
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/migrations/graph.py", line 195, in <listcomp>
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/migrations/graph.py", line 58, in raise_error
    raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration admin.0005_auto_20200919_1755 dependencies reference nonexistent parent node ('app3', '0004_auto_20200919_1754')

虽然“app3”和app3所在的项目都不存在了。

【问题讨论】:

    标签: python django database migration


    【解决方案1】:

    您之前应用的迁移的历史记录保存在数据库中。所以我相信解决您的问题的最简单方法是清除您的数据库并从头开始创建它

    【讨论】:

    • 感谢您的回答,但您所说的 DB 是什么意思,如何删除它?
    • 您的数据库(postgresql、mysql 等)。默认情况下,django 使用 sqlite DB,所以它只是一个可以删除的文件
    • 是的,我删除了它,但它什么也没做
    • 我什至删除了 app3 所在的整个项目。
    猜你喜欢
    • 2016-08-15
    • 2015-09-25
    • 2016-06-14
    • 2016-02-14
    • 2015-08-26
    • 1970-01-01
    • 2011-02-27
    • 2019-04-26
    • 2020-12-30
    相关资源
    最近更新 更多