РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
140 of 711 menu

Метод configure класса sessionmaker

Метод configure класса sessionmaker позволяет изменить параметры уже созданной фабрики сессий. Первым параметром метод принимает словарь с новыми настройками, которые применяются к объекту.

Синтаксис

sessionmaker.configure(**kwargs)

Пример

Давайте создадим фабрику сессий и изменим ее настройку echo через метод configure:

from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker engine = create_engine('sqlite:///:memory:') Session = sessionmaker(bind=engine) Session.configure(echo=True) print(Session.kw)

Результат выполнения кода:

"{'bind': Engine(sqlite:///:memory:), 'echo': True}"

Пример

Давайте применим метод configure для смены движка у существующей фабрики сессий:

from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker engine_one = create_engine('sqlite:///:memory:') engine_two = create_engine('sqlite:///:memory:') Session = sessionmaker(bind=engine_one) print(Session.kw['bind']) Session.configure(bind=engine_two) print(Session.kw['bind'])

Результат выполнения кода:

"Engine(sqlite:///:memory:)" "Engine(sqlite:///:memory:)"

Пример

Давайте изменим фабрику сессий и выполним запрос к базе данных с новыми настройками:

from sqlalchemy import create_engine, text from sqlalchemy.orm import sessionmaker engine = create_engine('sqlite:///:memory:') Session = sessionmaker(bind=engine) Session.configure(echo=True) with Session() as session: res = session.execute(text('SELECT 1')).scalar() print(res)

Итоговый SQL запрос:

SELECT 1

Результат выполнения кода:

"1"

Смотрите также

  • класс sessionmaker,
    который создает фабрику сессий
  • метод begin,
    который открывает транзакцию сессии
  • метод __call__,
    который создает объект сессии
  • метод configure,
    который изменяет настройки фабрики сессий
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить