Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 4, 2009 19:48:40

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

SqlAlchemy значения по умолчанию в таблицах

К примеру есть таблица:

class Address(Base):
__tablename__ = 'addresses'

id = Column("id", types.Integer, primary_key=True, autoincrement=True)
city_id = Column("city_id", types.Integer, ForeignKey('citys.id',onupdate="CASCADE",ondelete="CASCADE"))
street_id = Column("street_id", types.Integer, ForeignKey('streets.id',onupdate="CASCADE",ondelete="CASCADE"))
building = Column("building", types.String(5), default='')
office = Column("office", types.String(5), default='')
в полях building и office есть значения по умолчанию, которые вносятся в БД. А как быть с полем street_id, когда не указана улица, а только город? При выводе этого значения будет писаться None, а хотелось бы пустоту. Конечно можно ставить условия при отображении данных, но мне не очень нравится такое решение. Есть ли в SqlAlchemy возможность задать значение по умолчанию при отображении данных, не внося его в БД?



Офлайн

#2 Апрель 6, 2009 05:48:12

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

SqlAlchemy значения по умолчанию в таблицах

Naota
Конечно можно ставить условия при отображении данных, но мне не очень нравится такое решение. Есть ли в SqlAlchemy возможность задать значение по умолчанию при отображении данных, не внося его в БД?
Можно сделать через дескрипторы http://www.sqlalchemy.org/docs/05/mappers.html#using-descriptors
но, ИМХО, форматирование при отображении куда более верный путь, None/NULL - отсутствие данных, а отображаться оно может по-разному, где пустой строкой, прочерком, словом нет, отсутствием строки, но этому не место в модели



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Апрель 6, 2009 06:14:31

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

SqlAlchemy значения по умолчанию в таблицах

За ссылочку спасибо. Данные из одной таблицы выводятся во многих местах и в каждом писать условия - лишний раз делать копи-паст. Где же ещё, как не в модели делать такую штуку :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version