Найти - Пользователи
Полная версия: SqlAlchemy значения по умолчанию в таблицах
Начало » Базы данных » SqlAlchemy значения по умолчанию в таблицах
1
Naota
К примеру есть таблица:

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