Уведомления

Группа в Telegram: @pythonsu

#1 Март 31, 2013 18:36:41

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Добавление поля в непустую БД

Здравствуйте!
Нужно добавить поле в models.py
South включен. Проблема возникает, когда в базе уже есть данные. Возникает ошибка no such column имя_поля. Поставил blank=True. Всё равно. Как модифицировать непустую БД?
Спасибо!

Офлайн

#2 Март 31, 2013 18:51:57

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Добавление поля в непустую БД

Напиши лучше, что делал по шагам. Ситуация то стандартная.

А еще лучше создай новый проектик. Сделай там модельку. Читай документацию south и пробуй делать, параллельно конспектируя и комментируя для себя, что получается.
Я ,например, для этого использую Evernote(для записей).

Отредактировано buddha (Март 31, 2013 18:52:52)

Офлайн

#3 Март 31, 2013 19:08:55

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Добавление поля в непустую БД

Была модель:

class BlogPost(models.Model):
	title=models.CharField(max_length=150, unique=True, verbose_name=u'Заголовок')
	slug=models.SlugField(max_length=100, unique=True, db_index=True, verbose_name=u'URL')
	body=models.TextField(verbose_name=u'Полное описание')
	timestamp=models.DateTimeField(db_index=True, verbose_name=u'Время создания')
Через админку добавлены посты.

Теперь надо добавить поле и получить
class BlogPost(models.Model):
	title=models.CharField(max_length=150, unique=True, verbose_name=u'Заголовок')
	slug=models.SlugField(max_length=100, unique=True, db_index=True, verbose_name=u'URL')
        description=models.TextField(max_length=250, verbose_name=u'Краткое описание')
	body=models.TextField(verbose_name=u'Полное описание')
	timestamp=models.DateTimeField(db_index=True, verbose_name=u'Время создания')
South-то поле добавляет. Только все ломается при этом. Если добавлять в пустую БД, то всё ок. Проблема именно в том, как избежать перезаписи БД по новой.

Документацию по сауфу я пытался читать, но более дремучего документа мне видеть не приходилось.

Офлайн

#4 Март 31, 2013 19:32:04

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Добавление поля в непустую БД

Я имел ввиду, что ты через south запускал, каккие команды.

Вот некоторый перевод, для начала всё необходимое есть…
http://python-lab.blogspot.ru/search/label/south

Офлайн

#5 Март 31, 2013 19:33:11

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Добавление поля в непустую БД

Я делал только syncdb.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version