到目前为止,我已经尝试过任何关于这个问题的因特网给我,我仍然没有解决它。在django中无法摆脱“不存在的父节点”1.11
的Python 3.6.1 - Django的1.11.2 - 的virtualenv
我有两个应用程序account
和app2
一个Django项目。最近我决定随着项目的增长将它们分成更合适的应用程序。现在我总共有8个应用程序,其中account
分为user_auth
和user
,然后我删除account
。为了整理它,我将所有应用程序从根文件夹移动到/apps/
。
到目前为止,只有user, user_auth, app2
正在使用,其中app2
未被触及。
将每个单独文件中的代码拆分,移动到指定的应用程序并重新编码以从正确的路径导入。
要获得一个全新的开始我删除db.sqlite3文件,删除所有*.pyc
文件,删除所有__pycache__
文件夹,并清空了migrations
文件夹,确保把所有__init__.py
文件。
通过的virtualenv运行python manage.py migrate
给了我这样的输出:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "H:\Programming\VirProjDir\lib\site-packages\django\core\management\__init__.py", line 363, in execute_from_command_line
utility.execute()
File "H:\Programming\VirProjDir\lib\site-packages\django\core\management\__init__.py", line 355, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "H:\Programming\VirProjDir\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "H:\Programming\VirProjDir\lib\site-packages\django\core\management\base.py", line 330, in execute
output = self.handle(*args, **options)
File "H:\Programming\VirProjDir\lib\site-packages\django\core\management\commands\migrate.py", line 83, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
File "H:\Programming\VirProjDir\lib\site-packages\django\db\migrations\executor.py", line 20, in __init__
self.loader = MigrationLoader(self.connection)
File "H:\Programming\VirProjDir\lib\site-packages\django\db\migrations\loader.py", line 52, in __init__
self.build_graph()
File "H:\Programming\VirProjDir\lib\site-packages\django\db\migrations\loader.py", line 274, in build_graph
raise exc
File "H:\Programming\VirProjDir\lib\site-packages\django\db\migrations\loader.py", line 244, in build_graph
self.graph.validate_consistency()
File "H:\Programming\VirProjDir\lib\site-packages\django\db\migrations\graph.py", line 261, in validate_consistency
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "H:\Programming\VirProjDir\lib\site-packages\django\db\migrations\graph.py", line 261, in <listcomp>
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "H:\Programming\VirProjDir\lib\site-packages\django\db\migrations\graph.py", line 104, in raise_error
raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration auth.0009_user_following dependencies reference nonexistent parent node ('account', '0002_contact')
到目前为止,我已经受够了这些命令没有运气,确保消除所有缓存和* pyc文件其间:
python manage.py migrate
python manage.py makemigrations
python manage.py makemigrations <app_name>
python manage.py flush
python manage.py --fake
python manage.py --fake <app_name> zero
etc..
我不明白为什么('account', '0002_contact')
不断显示即使我删除了与我的代码没有直接关系的任何东西。
“包含文本” - 搜索没有显示account
。
任何想法在哪里看下?
我建议阅读以下两篇文章:[post1](https:// stackoverflow。com/questions/31281377/django-nodenotfounderror-migration-migration)[post2](https://stackoverflow.com/questions/37937343/django-db-migrations-exceptions-nodenotfounderror) – pooya