Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 6, 2014 20:08:52

zerorinker
Зарегистрирован: 2013-10-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

куда пропал auto id в django 1.7

Всем доброго времени суток. Спустя некоторое время, я вновь перешел на Django и обнаружил одну неприятную особенность. В ранних версиях на сколько я помню, в manage.py shell можно было импортировать модель, создать объект и вызвать метод save() то Django сама подставит необходимое значение в поле id и так далее. Сейчас установив Django 1.7 имеет место быть следующая проблема(Пример):
#model Realtor
class Realtor(models.Model):
name = models.CharField(max_value=20)

заходим в manage.py shell создаем экземпляр класса модели и записываем в базу:
r = Realtor('test')
r.save()

на что получаем ошибку:
ValueError: invalid literal for int() with base 10: ‘test’

если в конструктор модели Realtor передать сначала например 1, а потом уже строку с именем риелтора, то все будет норм. В базе будет запись с id: 1 и name: test
В чем может быть причина такого поведения, куда делать автоподстановка значений в поле id?

Офлайн

#2 Окт. 7, 2014 05:32:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

куда пропал auto id в django 1.7

>>>заходим в manage.py shell создаем экземпляр
Ну кто ж так создает экземпляр?

r = Realtor.objects.create(name='test')



Офлайн

#3 Окт. 7, 2014 21:42:30

zerorinker
Зарегистрирован: 2013-10-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

куда пропал auto id в django 1.7

+ Невнимательно доку читал, спасибо!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version