Я наверно немного туп, но я не нашел прямого ответа на свой вопрос (вероятно потому что мой Английский очень кровать) Как я понял из документации makemigrations - создает код SQL но не применяет его, а migrate - применяет созданный makemigrations файл миграции и уже применяет его к SQL, после чего создается снимок в контроле версий. Мучающий меня вопрос: Получается всегда нужно применять makemigrations и потом migrate при любых изменениях в базе данных? Даже если изменил поле? А если изменил поле и применил .save()? Заранее спасибо!
Oleg, да. Тоесть миграции нужно делать, если что-то поменял в схеме бд, изменил любое поле в модели(в классеб который наследуется models.Model). Впрочем, запускать команду makemigrations, можно в любое время, она ничего в бд не делает, она проверяет структуру БД и твоих моделей и пишет инструкции для смены схемы.