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

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

Атрибут info класса Session представляет собой обычный словарь Python, в который можно записывать любые пользовательские данные, связанные с конкретной сессией. SQLAlchemy не использует содержимое этого словаря внутренне: он полностью предназначен для нужд приложения. Атрибут доступен для чтения и записи, а по умолчанию содержит пустой словарь. Это удобно для хранения метаданных сессии, например, идентификатора запроса, имени пользователя или флагов логирования.

Синтаксис

Session.info

Пример

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

from sqlalchemy import create_engine from sqlalchemy.orm import Session engine = create_engine('sqlite:///:memory:') with Session(engine) as session: print(session.info)

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

{}

Пример

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

from sqlalchemy import create_engine from sqlalchemy.orm import Session engine = create_engine('sqlite:///:memory:') with Session(engine) as session: session.info['user'] = 'article' session.info['request_id'] = 42 print(session.info['user']) print(session.info['request_id'])

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

"article" 42

Пример

Давайте используем info для хранения счётчика операций внутри одной сессии:

from sqlalchemy import create_engine, text from sqlalchemy.orm import Session engine = create_engine('sqlite:///:memory:') with Session(engine) as session: session.info['counter'] = 0 session.execute(text('SELECT 1')) session.info['counter'] += 1 session.execute(text('SELECT 1')) session.info['counter'] += 1 print(session.info['counter'])

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

2

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

  • класс Session,
    который представляет сессию работы с базой
  • атрибут identity_map,
    который хранит карту загруженных объектов
  • атрибут is_active,
    который показывает активность сессии
  • метод close,
    который закрывает сессию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить