Миграция моделей в Django с помощью South

Команда ./manage.py syncdb в django предназначена только для создания новых таблиц на основе моделей. Добавлять или удалять поля из существующей таблицы она не будет, ровно как и вносить изменения в существующие поля. Эти манипуляции остаются за разработчиком приложения. Однако есть удобное средство миграции, South

  1. Устанавливаем south
  2. Добавляем в ‘INSTALLED_APPS’ в вашем settings.py
  3. Выполняем syncdb
  4. Инициализируем первую миграцию
  5. Выполняем миграцию

Последующие миграции

Если появилась ошибка django.db.utils.DatabaseError: (1050, «Table ‘‘ already exists»), делаем так

  1. Проверяем, что модель соответствует таблице в базе данных
  2. Выполняем
  3. Теперь можно выполнять миграцию

Либо удалите соответствующую миграцию.