Такой таблицы нет: ошибка auth_user при входе в /admin/ после развертывания приложения django на pythonanywhere
У меня возникла проблема после развертывания на тестовом хостинге pythonanywhere.com и настройки базы данных MySQL. Когда я пытаюсь войти в систему с моим суперпользователем, я получаю эту ошибку:
Environment:
Request Method: POST
Request URL: http://studs.pythonanywhere.com/admin/login/?next=/admin/
Django Version: 1.9.7
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework.authtoken',
'rest_framework_docs',
'mainapp']
Installed Middleware:
['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']
Traceback:
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py" in execute
323. return Database.Cursor.execute(self, query, params)
The above exception (no such table: auth_user) was the direct cause of the following exception:
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/core/handlers/base.py" in get_response
149. response = self.process_exception_by_middleware(e, request)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/core/handlers/base.py" in get_response
147. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
57. response = view_func(request, *args, **kwargs)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/admin/sites.py" in login
414. return login(request, **defaults)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/views.py" in inner
49. return func(*args, **kwargs)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/views/decorators/debug.py" in sensitive_post_parameters_wrapper
76. return view(request, *args, **kwargs)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapped_view
149. response = view_func(request, *args, **kwargs)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
57. response = view_func(request, *args, **kwargs)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/views.py" in login
69. if form.is_valid():
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/forms/forms.py" in is_valid
161. return self.is_bound and not self.errors
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/forms/forms.py" in errors
153. self.full_clean()
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/forms/forms.py" in full_clean
363. self._clean_form()
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/forms/forms.py" in _clean_form
390. cleaned_data = self.clean()
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/forms.py" in clean
161. password=password)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/__init__.py" in authenticate
74. user = backend.authenticate(**credentials)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/backends.py" in authenticate
17. user = UserModel._default_manager.get_by_natural_key(username)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/base_user.py" in get_by_natural_key
45. return self.get(**{self.model.USERNAME_FIELD: username})
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
122. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/query.py" in get
381. num = len(clone)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/query.py" in __len__
240. self._fetch_all()
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/query.py" in _fetch_all
1074. self._result_cache = list(self.iterator())
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/query.py" in __iter__
52. results = compiler.execute_sql()
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql
848. cursor.execute(sql, params)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
79. return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/utils.py" in __exit__
95. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/utils/six.py" in reraise
685. raise value.with_traceback(tb)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py" in execute
323. return Database.Cursor.execute(self, query, params)
**Exception Type: OperationalError at /admin/login/
Exception Value: no such table: auth_user**
Итак, вот что я сделал:
- вытащил мое приложение из github
- создал virtualenv и установил все необходимые приложения
- установить wsgi.py
- собранные файлы статики
- установить базу данных MySQL и изменить базу данных в settings.py
- makemigrations
- мигрировать
- createsuperuser
все шаги были выполнены без каких-либо ошибок.
Так что теперь, когда я захожу в / admin / и пытаюсь зайти с суперпользователем, появляется ошибка.
Пожалуйста, объясните, что я сделал не так и как решить проблему. Также я думаю, что стоит упомянуть, что я расширяю пользовательскую модель с помощью моей собственной ProfileModel.
вот мой settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'studs$maindb',
'USER': 'studs',
'PASSWORD': 'XXXXXXXX',
'HOST': 'studs.mysql.pythonanywhere-services.com',
}
}
Если нужно больше информации - просто дайте мне знать, и я обновлю билет.
Спасибо
1 ответ
Я решил эту проблему, выполнив миграцию в мое приложение, которое содержит модель профиля, которая расширяет модель User django, а затем переносит базу данных.