Этот ответ все еще виден, но устарел.Начиная с версии 1.7 Django поставляется со встроенной системой миграции , написанной тем же автором, что и South
, и устарела syncdb
, хотя она все еще будет работать.
Вам просто потребуетсячтобы запустить несколько команд для автоматического добавления новых столбцов:
python manage.py makemigrations
python manage.py migrate
Будет полезно понять, что происходит под капотом, но это основы.Пожалуйста, задавайте новые вопросы, чтобы получить ответы на 1.7 и миграцию, если вы все еще читаете этот старый пост.
Для django <1.7 </h3> syncdb
не будет добавлять новые столбцы.См. http://docs.djangoproject.com/en/dev/ref/django-admin/#syncdb Вам нужно будет добавить их вручную.Например,.замените <>
соответствующей информацией: python manage.py dbshell
ALTER TABLE <appname_modelname> ADD COLUMN <column_type> DEFAULT '';
Вы можете увидеть, что Django мог сделать для генерации столбцов на новом syncdb
, используя: python manage.py sqlall app_name
, а также копирование и вставкуALTER TABLE
заявления оттуда. В противном случае вы можете посмотреть на сторонние приложения, такие как Django-South , которые являются инструментами миграции базы данных.