Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 28, 2009 23:17:56

Malinaizer
От:
Зарегистрирован: 2009-03-28
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

как добавить к модели новое поле?

есть модель но когда добавляю новое поле к ней вылазит ошибка в админке? после добавления поля validate проходит без ошибок!



Офлайн

#2 Ноя. 29, 2009 01:48:40

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

как добавить к модели новое поле?

А база обнолена? Новое поле в ней есть?
А то почему-то мой хрустальный шар отказывается сказать какая ошибка у вас появляется в админке, какое поле и в какой модели пытаетесь создать, когда и при чём тут validate.

Офлайн

#3 Ноя. 29, 2009 11:29:38

Malinaizer
От:
Зарегистрирован: 2009-03-28
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

как добавить к модели новое поле?

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



Отредактировано (Ноя. 29, 2009 11:38:51)

Офлайн

#4 Ноя. 29, 2009 11:42:04

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

как добавить к модели новое поле?

Если идет изменение модели, то нужно все изменения делать вручную, то есть, если добавили/удалили/изменили поле, то надо к базе каким-нибудь клиентом подключится и сделаит изменения в таблице вручную.
Есть еще проект django-south, можете посмотреть, он частично умеет обрабатывать такие случаи.

P.S. Syncdb работает только при добавлении или удалении моделей.



Офлайн

#5 Ноя. 29, 2009 13:21:59

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

как добавить к модели новое поле?

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

Офлайн

#6 Ноя. 29, 2009 15:43:43

Malinaizer
От:
Зарегистрирован: 2009-03-28
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

как добавить к модели новое поле?

спасибо всем, буду ковыряться)



Офлайн

#7 Ноя. 29, 2009 18:02:13

mike_girkin
От:
Зарегистрирован: 2009-05-01
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

как добавить к модели новое поле?

Malinaizer
спасибо всем, буду ковыряться)
Рекомендую посмотреть также в сторону проекта django-dmigrations, лично мне понравился, по крайней мере на данном этапе.

А вообще судя по посту - пока вполне возможно ручное изменение базы в соответсвии с изменениями модели. Тогда вы точно поймете зачем вам все эти south и dmigrations



Офлайн

#8 Ноя. 30, 2009 09:09:57

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

как добавить к модели новое поле?

Можно также попробовать south

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version