Django makemigrations не создает базы данных администраторов
У меня проект django, вот запись об установленных приложениях в settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'crawler',
]
Когда я запускаю python manage.py migrate
все вроде бы в порядке. Но когда я пытаюсь войти на страницу администратора django, там написано
(1146, "Таблица 'stock_db.django_session' не существует")
Мне кажется, что migrate
не создает базы данных django admin, но почему?
Я даже пробовал удалить базу данных, создать ее снова и запустить python manage.py makemigrations
и python manage.py migrate
, Она не создала таблицу django_session.
Сначала попробуйте makemigrations, если не поможет, продолжайте читать
Этот тип проблемы может возникнуть во многих ситуациях, наиболее распространенная из которых заключается в том, что ваша файловая система миграции нарушена. Причина может быть в том, что вы пытались отредактировать файлы миграции, или вы удалили некоторые из них, или, если вы работаете в большой команде, могут быть конфликтующие миграции. Исправление системы миграций требует много времени и усилий, к тому же вы должны знать, как они работают. Если проект не находится в производстве и вы просто играете, я рекомендую очистить db и удалить файлы миграции, запустить makemigrations и мигрировать снова. Также будьте внимательны, если у вас есть несколько приложений с моделями, ссылающимися друг на друга с помощью внешних ключей или чего-либо еще.
Всегда убедитесь, что вы выполнили makemigrations перед migrate
Сначала запустите миграции с помощью следующих команд:
python manage.py makemigrations appname
python manage.py migrate
Если это не работает, удалите текущие миграции с помощью
Python manage.py squashmigrations
, а затем снова запустите команды миграции .