Найти - Пользователи
Полная версия: Изменение модели, ошибка
Начало » Django » Изменение модели, ошибка
1
max_143
Была создана модель, через интерфейс администратора добавлял данные, всё было нормально, потом нужно было добавить ещё два поля, и тогда появилась ошибка Exception Value: no such column, после выполнения команды manage.py sqlall myproject показывает, что новые поля созданы, но что-то не так.
FishHook
Посмотрите прямо в базу, наверняка Вы там не увидите новых полей.
django-admin.py sqlall
Prints the CREATE TABLE and initial-data SQL statements for the given app name(s).
Ну понятно, скрипт Вам напишет код CREATE TABLE на основании ваших новых моделей, но это вовсе не означает, что изменения модели волшебным образом появятся в базе.
syncdb не добавляет и не изменяет столбцы. Для этого юзают south. Простой вариант - дропнуть таблицы и сделать syncdb, тогда таблицы создадутся с новыми полями. Сложнее - создать руками в нужной таблице нужные поля через консольку или какой-нибудь гуй типа phpMyadmin. Православно - установить south и научиться им пользоваться.
max_143
Спасибо, буду разбираться с south
ad3w
Ставите south, затем удаляете ваши поля из модели, выполняете команду

./manage.py convert_to_south app_name

Добавляете поля обратно и выполняете:

./manage.py schemamigration app_name --auto
./manage.py migrate app_name
adw0rd
ad3w
затем удаляете ваши поля из модели
комментируете те поля, которые вы добавили, но их нет в структуре БД
далее делаете то что сказал adwo
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB