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

Атрибут bind класса AsyncSession

Атрибут bind класса AsyncSession возвращает объект AsyncEngine или AsyncConnection, к которому привязана сессия. Значение атрибута задается при создании сессии через параметр bind. Если сессия создана без привязки, атрибут вернет None. Через этот атрибут можно получить движок и работать с ним напрямую, например, для выполнения нативных SQL-запросов.

Синтаксис

async_session.bind

Пример

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

import asyncio from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession async def main(): engine = create_async_engine('sqlite+aiosqlite:///:memory:') async with AsyncSession(engine) as session: print(session.bind) asyncio.run(main())

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

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

Пример

Давайте создадим сессию без привязки и проверим значение атрибута bind:

import asyncio from sqlalchemy.ext.asyncio import AsyncSession async def main(): async with AsyncSession() as session: print(session.bind) asyncio.run(main())

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

None

Пример

Давайте через атрибут bind получим движок и выполним нативный SQL-запрос:

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

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

1

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

  • класс AsyncSession,
    который представляет асинхронную сессию
  • атрибут sync_session,
    который возвращает синхронную сессию
  • метод execute,
    который выполняет SQL-запрос
  • метод run_sync,
    который выполняет синхронную функцию в асинхронном контексте
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить