Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 20, 2011 23:08:24

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

SQLAlchemy и вопросы проектирования...

knkd
Андрей Светлов
Если совсем просто — то он добавит объект в сессию.
Если при этом по primary key в базе уже есть объект — вернется поднятый из базы.
Это по факту всего лишь более короткий способ сделать вот так?

user = session.query(User).filter_by(name=starter).first()
if user == None:
user = User(session, starter)
user.add()
По факту нужно быстро спросить, есть ли User и коль нет — добавить. merge с этим справляется.
Делать сложные операции с пользователем, затрагивающие коллекции — не нужно. Эти операции будут выброшены.

В начале работы делаете .merge и затем творите что хотите.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version