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

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

Метод configure класса async_sessionmaker позволяет изменить настройки уже созданной фабрики асинхронных сессий. Метод принимает те же именованные параметры, что и конструктор класса: bind, expire_on_commit, class_, autoflush и другие. Он возвращает сам объект async_sessionmaker, что позволяет применять цепочку вызовов.

Синтаксис

async_sessionmaker.configure(**kwargs)

Пример

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

from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker engine = create_async_engine('sqlite+aiosqlite:///:memory:') session_factory = async_sessionmaker() session_factory.configure(bind=engine) print(session_factory.kw['bind'])

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

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

Пример

Давайте изменим сразу несколько параметров фабрики: expire_on_commit и autoflush:

from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker engine = create_async_engine('sqlite+aiosqlite:///:memory:') session_factory = async_sessionmaker(bind=engine, expire_on_commit=True) session_factory.configure(expire_on_commit=False, autoflush=False) print(session_factory.kw['expire_on_commit']) print(session_factory.kw['autoflush'])

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

False False

Пример

Давайте применим метод configure в цепочке вызовов вместе с begin для выполнения запроса:

from sqlalchemy import text from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker import asyncio async def main(): engine = create_async_engine('sqlite+aiosqlite:///:memory:') session_factory = async_sessionmaker().configure(bind=engine) async with session_factory.begin() as session: res = await session.execute(text('SELECT 1')) print(res.scalar()) asyncio.run(main())

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

1

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

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