Метод get_bind
Метод get_bind класса Session возвращает
объект Engine или Connection, к которому
привязана текущая сессия. Это может быть как движок,
переданный при создании сессии, так и соединение,
полученное из пула. Метод не принимает обязательных
параметров.
Синтаксис
session.get_bind()
Пример
Давайте создадим сессию и получим ее привязку:
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
engine = create_engine('sqlite:///:memory:')
session = Session(engine)
res = session.get_bind()
print(res)
Результат выполнения кода:
"Engine(sqlite:///:memory:)"
Пример
Давайте выполним запрос и получим привязку после начала транзакции:
from sqlalchemy import create_engine, text
from sqlalchemy.orm import Session
engine = create_engine('sqlite:///:memory:')
session = Session(engine)
session.execute(text('SELECT 1'))
res = session.get_bind()
print(res)
session.close()
Результат выполнения кода:
"Engine(sqlite:///:memory:)"
Пример
Давайте проверим, что get_bind возвращает
тот же движок, который был передан при создании
сессии:
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
engine = create_engine('sqlite:///:memory:')
session = Session(engine)
res = session.get_bind() is engine
print(res)
session.close()
Результат выполнения кода:
True
Смотрите также
-
класс
Session,
который представляет сессию работы с базой -
атрибут
bind,
который хранит привязку сессии -
метод
connection,
который возвращает соединение сессии -
метод
execute,
который выполняет SQL-запрос