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

Атрибут info класса Connection

Атрибут info класса Connection предоставляет словарь, в котором можно хранить произвольные пользовательские данные, связанные с конкретным соединением. Этот словарь создается автоматически при открытии соединения и доступен только для чтения в том смысле, что ссылка на словарь не меняется, но его содержимое можно свободно изменять. Атрибут не принимает параметров и возвращает объект типа dict.

Синтаксис

connection.info

Пример

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

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: print(conn.info)

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

{}

Пример

Давайте запишем в словарь info собственные данные и прочитаем их обратно:

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.info['user'] = 'article' conn.info['status'] = 'active' print(conn.info['user']) print(conn.info['status']) print(conn.info)

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

article active {'user': 'article', 'status': 'active'}

Пример

Давайте убедимся, что словарь info привязан именно к конкретному соединению и не сохраняется после его закрытия:

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.info['num'] = 10 print(conn.info) with engine.connect() as conn: print(conn.info)

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

{'num': 10} {}

Пример

Давайте выполним SQL-запрос и сохраним информацию о нем в словаре info:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.info['query'] = 'SELECT 1' res = conn.execute(text(conn.info['query'])) print(res.scalar()) print(conn.info)

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

1 {'query': 'SELECT 1'}

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

SELECT 1

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

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