SQLAlchemy: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 140:
<source lang=python>>>> ourUser = session.query(User).filter_by(name="vasia").first()
<User('vasia','Vasiliy Pypkin', 'vasia2000')></source>
На самом деле сессия определила, что та запись из таблицы, что она вернула, та же самая, что а запись, что она уже представляла в своей внутренней хеш-таблицу объектов. Так что мы просто подучилиполучили точно тот же самые объект, что только что добавили.
Та концепция ORM, что работает здесь, известная как ''карта идентичности'', обеспечивает, что все операции над конкретной записью внутри сессии оперируют одним и тем же набором данных. Как только объект с неким первичным ключом появится в сессии, все SQL-запросы на этой сессии вернут тот же самые питоний объект для этого самого первичного ключа. Будет выдана ошибка в случае попытки поместить в эту сессию другой, уже сохраненный объект с тем же первичным ключом.
Мы можем добавить больше User-объектов, использовав ''add_all()''