SQLAlchemy: различия между версиями
Содержимое удалено Содержимое добавлено
Vladis13 (обсуждение | вклад) |
Vladis13 (обсуждение | вклад) |
||
Строка 124:
Session = sessionmaker(bind=engine)
</source>
В случае же, если наше приложение не имеет ''Engine''-объекта базы данных, можно просто сделать так:
<source lang=python>Session = sessionmaker()</source>
А потом, когда вы создадите подключение к базе с помощью ''create_engine()'', соедините его с сессией, используя ''configure()'':
<source lang=python>Session.configure(bind=engine) # Как только у вас появится engine</source>
Такой класс ''Session'' будет создавать Session-объекты, которые привязаны к нашей базе. Другие транзакционные параметры тоже можно определить вызовом sessionmaker()’а, но они будут описаны в следующей главе. Так, когда вам необходимо общение с базой, вы создаете объект класса ''Session'':▼
Такой класс ''Session'' будет создавать Session-объекты, которые привязаны к нашей базе.
▲
<source lang=python>session = Session()</source>
Сессия здесь ассоциирована с SQLite, но у нее еще нет открытых соединений с этой базой. При первом использовании она получает соединение из набора соединений, который поддерживается engine и удерживает его до тех пор, пока мы не применим все изменения и/или не закроем объект сессии.
|