manage.py - Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
manage.py 실행 시 다음과 같은 오류가 발생한다면?
(myapp) D:\pycharm\work\myapp> python manage.py createsuperuser
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
Traceback (most recent call last):
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\backends\sqlite3\base.py", line 423, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: auth_user
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_line
utility.execute()
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\core\management\__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\core\management\base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 79, in execute
return super().execute(*args, **options)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\core\management\base.py", line 398, in execute
output = self.handle(*args, **options)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 100, in handle
default_username = get_default_username(database=database)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\contrib\auth\management\__init__.py", line 142, in get_default_username
username=default_username,
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\models\query.py", line 431, in get
num = len(clone)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\models\query.py", line 262, in __len__
self._fetch_all()
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\models\query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\models\query.py", line 51, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\models\sql\compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\backends\utils.py", line 98, in execute
return super().execute(sql, params)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\backends\utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\backends\utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "F:\pycharm_venv\pythonProject\myapp\lib\site-packages\django\db\backends\sqlite3\base.py", line 423, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: auth_user
아직, 응용 프로그램에서 정의한 models 개체에 대한 DB scheme 반영이 안 되어서 그렇습니다. 따라서, 미리 다음과 같이 migrate 작업을 해주면 됩니다.
(myapp) D:\pycharm\work\myapp> python manage.py makemigrations
No changes detected
(myapp) D:\pycharm\work\myapp> python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
그럼 이렇게 잘 실행됩니다. ^^
(myapp) D:\pycharm\work\myapp> python manage.py createsuperuser
Username (leave blank to use 'testusr'):
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]