공식 Django 문서 의 첫 번째 앱 자습서 를 따르고 있었는데 관리자 페이지를 통해 변경 한 내용을 저장하려고 할 때이 오류가 발생했습니다. 나는 그것에 대해 약간의 조사를했지만 db 마이그레이션과 같은 가능한 해결책은 작동하지 않습니다. 내 코드의 특정 부분을보고 싶다면 알려주세요.
다음은 오류입니다.
OperationalError at / admin / polls / question / 1 / change / no such table : main.auth_user__old Request Method : POST Request URL : http://127.0.0.1:8000/admin/polls/question/1/change/ Django 버전 : 2.1.4 예외 유형 : OperationalError 예외 값 : 해당 테이블 없음 : main.auth_user__old 예외 위치 : /Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/sqlite3/base .py in execute, line 296 Python 실행 파일 : / Users / gfioravante / Projects / test_app / ta_env / bin / python3 Python 버전 : 3.7.1 Python 경로 :
[ '/ Users / gfioravante / Projects / test_app / test_app', '/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/ usr / local /Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7 ','/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/ lib / python3.7 / lib-dynload ','/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages '] 서버 시간 : Wed, 5 Dec 2018 16:45:00 +0000
그리고 역 추적 :
환경:
요청 방법 : POST 요청 URL : http://127.0.0.1:8000/admin/polls/question/1/change/
Django 버전 : 2.1.4 Python 버전 : 3.7.1 설치된 애플리케이션 : [ 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django .contrib.sessions ','django.contrib.messages ','django.contrib.staticfiles '] 설치된 미들웨어 : ['django.middleware.security.SecurityMiddleware ','django.contrib.sessions.middleware.SessionMiddleware ','django .middleware.common.CommonMiddleware ','django.middleware.csrf.CsrfViewMiddleware ','django.contrib.auth.middleware.AuthenticationMiddleware ','django.contrib.messages.middleware.MessageMiddleware ','django.middleware.clickjacking.XFrameOptionsMiddleware ']
역 추적:
_execute 85의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py"파일. return self.cursor.execute (sql, params)
파일 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py"실행 296. return Database.Cursor.execute (self, query, 매개 변수)
위의 예외 (해당 테이블 없음 : main.auth_user__old)는 다음 예외의 직접적인 원인이었습니다.
내부 34에있는 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/core/handlers/exception.py"파일. response = get_response (request)
_get_response 126의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/core/handlers/base.py"파일. response = self.process_exception_by_middleware (e, request)
_get_response 124의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/core/handlers/base.py"파일. response = Wrap_callback (request, * callback_args, ** callback_kwargs)
래퍼 604의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py"파일. return self.admin_site.admin_view (view) (* args, ** kwargs)
파일 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/utils/decorators.py"in _wrapped_view 142. response = view_func (request, * args, ** kwargs)
_wrapped_view_func 44의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/views/decorators/cache.py"파일. response = view_func (request, * args, ** kwargs)
내부 223의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/sites.py"파일. return view (request, * args, ** kwargs)
change_view 1640의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py"파일. return self.changeform_view (request, object_id, form_url, extra_context)
_wrapper 45의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/utils/decorators.py"파일. return bound_method (* args, ** kwargs)
파일 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/utils/decorators.py"in _wrapped_view 142. response = view_func (request, * args, ** kwargs)
changeform_view 1525의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py"파일. return self._changeform_view (request, object_id, form_url, extra_context)
_changeform_view 1571의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py"파일. self.log_change (request, new_object, change_message)
log_change 826의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py"파일. change_message = message,
log_action 35의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/models.py"파일. change_message = change_message,
manager_method 82의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/manager.py"파일. return getattr (self.get_queryset (), name) (* 인수, ** kwargs)
create 413의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/query.py"파일. obj.save (force_insert = True, using = self.db )
save 718의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/base.py"파일. force_update = force_update, update_fields = update_fields)
save_base 748의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/base.py"파일. updated = self._save_table (raw, cls, force_insert, force_update , 사용, update_fields)
_save_table 831의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/base.py"파일. result = self._do_insert (cls._base_manager, using, fields , update_pk, 원시)
파일 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/base.py"in _do_insert 869. using = using, raw = raw)
manager_method 82의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/manager.py"파일. return getattr (self.get_queryset (), name) (* 인수, ** kwargs)
_insert 1136의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/query.py"파일. return query.get_compiler (using = using) .execute_sql (return_id )
execute_sql 1289의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/sql/compiler.py"파일. cursor.execute (sql, params)
파일 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py"실행 100. return super (). execute (sql, params)
execute 68의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py"파일. return self._execute_with_wrappers (sql, params, many = False, executor = self._execute)
파일 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py"in _execute_with_wrappers 77. return executor (sql, params, many, context)
_execute 85의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py"파일. return self.cursor.execute (sql, params)
89 번 출구의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/utils.py"파일. exc_value에서 dj_exc_value.with_traceback (traceback)을 올립니다.
_execute 85의 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py"파일. return self.cursor.execute (sql, params)
파일 "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py"실행 296. return Database.Cursor.execute (self, query, 매개 변수)
예외 유형 : OperationalError at / admin / polls / question / 1 / change / 예외 값 : 해당 테이블 없음 : main.auth_user__old
python manage.py showmigrations
않은 경우 수행되지 않은 마이그레이션을 확인하십시오