Найти - Пользователи
Полная версия: как добавить к модели новое поле?
Начало » Django » как добавить к модели новое поле?
1
Malinaizer
есть модель но когда добавляю новое поле к ней вылазит ошибка в админке? после добавления поля validate проходит без ошибок!
Ferroman
А база обнолена? Новое поле в ней есть?
А то почему-то мой хрустальный шар отказывается сказать какая ошибка у вас появляется в админке, какое поле и в какой модели пытаетесь создать, когда и при чём тут validate.
Malinaizer
Ferroman
А база обнолена? Новое поле в ней есть?
А то почему-то мой хрустальный шар отказывается сказать какая ошибка у вас появляется в админке, какое поле и в какой модели пытаетесь создать, когда и при чём тут validate.
есть модель к ней надо добавить поле которое будет записывать дату последнего обращения к модели, делаю по этому примеру http://djbook.ru/ch09s03.html#djangobook.chap09.extending.extra-work я просто добавляю поле к модели и у меня начинает появляться ошибка в админке как базу обновить не знаю, думал что после проверки на ошибки validate, надо сделать syncdb но она не синхронизирует изменен в модели которая уже была создана!
и еще можно один вопрос какие плюсы и минусы SQLite3 перед PostgreSQL?


Exception Type: TemplateSyntaxError at /admin/books/author/
Exception Value: Caught an exception while rendering: no such column: books_author.last_accessed
regall
Если идет изменение модели, то нужно все изменения делать вручную, то есть, если добавили/удалили/изменили поле, то надо к базе каким-нибудь клиентом подключится и сделаит изменения в таблице вручную.
Есть еще проект django-south, можете посмотреть, он частично умеет обрабатывать такие случаи.

P.S. Syncdb работает только при добавлении или удалении моделей.
Ferroman
1. Используйте инструмент для синхронизации, как посоветовал regall
2. Да, syncdb этого не делает. Если бы вы посмотрели в документацию вы бы это знали, там об этом написано в специально выделенной рамочке.
3. “плюсы и минусы SQLite3 перед PostgreSQL.” - главное отличие в том, что они очень разные, поскольку созданы для совершенно разных целей. Если вы задали такой вопрос - вам надо больше прочитать про обе базы, ибо простой ответ не даст больше понимания.
4. В ерроре же ясно сказано - нет такого поля. Значит надо его сделать.
Malinaizer
спасибо всем, буду ковыряться)
mike_girkin
Malinaizer
спасибо всем, буду ковыряться)
Рекомендую посмотреть также в сторону проекта django-dmigrations, лично мне понравился, по крайней мере на данном этапе.

А вообще судя по посту - пока вполне возможно ручное изменение базы в соответсвии с изменениями модели. Тогда вы точно поймете зачем вам все эти south и dmigrations
helm2004
Можно также попробовать south
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