작성
·
304
0
# python3 manage.py showmigrations
Traceback (most recent call last):
File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 369, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.6/dist-packages/django/core/management/commands/showmigrations.py", line 52, in handle
return self.show_list(connection, options['app_label'])
File "/usr/local/lib/python3.6/dist-packages/django/core/management/commands/showmigrations.py", line 71, in show_list
loader = MigrationLoader(connection, ignore_no_migrations=True)
File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/loader.py", line 49, in init
self.build_graph()
File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/loader.py", line 274, in build_graph
raise exc
File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/loader.py", line 248, in build_graph
self.graph.validate_consistency()
File "/usr/local/lib/python3.6/dist-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 "/usr/local/lib/python3.6/dist-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 "/usr/local/lib/python3.6/dist-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 accounts.0001_initial dependencies reference nonexistent parent node ('auth', '0012_alter_user_first_name_max_length')
powershell에서 python3 manage.py showmigrations명령을 수행했을때 위와같은 오류가 뜨네요.. 뭐가 문제인걸까요?
답변 1
0
안녕하세요.
아마도 장고 프로젝트를 생성하시고, accounts 앱을 만드시고, User 모델을 만드시고, settings.AUTH_USER_MODEL 로 등록하시고, python manage.py makemigrations accounts 명령을 내리실 때의 장고 버전과 현재의 장고 버전이 낮아서 발생하는 이슈 같습니다.
아래의 오류에서 auth 앱의 0012 마이그레이션은 장고 3.1 이상부터 있는 마이그레이션파일입니다. accounts 앱에 대해서 makemigrations 명령을 내릴 때는 auth 0012 마이그레이션이 있었는 데, 지금은 없다는 오류 내용인 것이죠.
django.db.migrations.exceptions.NodeNotFoundError: Migration accounts.0001_initial dependencies reference nonexistent parent node ('auth', '0012_alter_user_first_name_max_length')
장고 3.0.x 버전에서는 auth 0012 마이그레이션 파일이 없습니다. accounts 앱에 대한 makemigrations 명령에서는 장고 3.1.x 이상이셨고, 지금은 3.0.x 버전으로 보이십니다. 프로젝트 처음부터 장고 3.0.x 버전이셨다면 이 오류는 만나지 않으셨을 텐데요.
방법1) 장고 3.0.x가 아닌 3.1.x 버전을 설치하시고 이후 강의를 진행하셔도 됩니다. 3.0.x와 3.1.x은 강의 내용에 있어서 거의 유사합니다. 특별한 이슈는 없을 것으로 생각이 듭니다.
명령) python -m pip install "django~=3.1.0"
방법2) 혹은 db.sqlite3 데이터베이스를 날리고 accounts/migrations/0001_initial.py 파일을 삭제하고, 다시 accounts 앱에 대해서 makemigrations 명령을 다시 수행하시는 방법도 있습니다.
살펴보시고, 댓글 남겨주세요.
화이팅입니다. :-)
장고 3.1 버전 설치하는것으로 해결되었습니다 감사함니다^^