Миграции моделей Django
Модель в models.py - это описание
таблицы на Python. Сама таблица в базе
из кода модели сама по себе не появится.
Нужен способ перенести структуру модели
в БД и потом обновлять ее, когда вы
добавляете или меняете поля.
Для этого в Django есть миграции (migrations) - специальные файлы, в которых зафиксированы изменения схемы базы данных: создание таблиц, добавление полей и так далее.
В отличие от ручной правки таблиц, миграции можно передать другому разработчику или выложить на сервер. Команда применит те же изменения к своей базе.
В Django миграции обычно не пишут вручную. Вы описываете модель, а Django сам сравнивает ее с текущим состоянием и генерирует нужные файлы миграций.
Давайте создадим миграции для наших
моделей командой makemigrations:
python manage.py makemigrations
В папке migrations приложения
появятся файлы с описанием изменений.
Теперь применим их к базе командой
migrate:
python manage.py migrate
После этого в базе появятся таблицы под ваши модели. Посмотреть список миграций и их статус можно так:
python manage.py showmigrations
Создайте миграции для ваших моделей
командой makemigrations.
Примените миграции командой
migrate.
Выполните showmigrations
и расскажите, что показывает
эта команда.