Можно ли получить значение двигателя из сеанса SQL Алхимия - PullRequest
0 голосов
/ 16 января 2019

Сначала я создаю сеанс следующим образом:

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
some_engine = create_engine('my_engine_string')
Session = sessionmaker(bind=some_engine)
session = Session()

Затем я посылаю эту сессию в качестве аргумента методу

def example(session):
    print("you created a session!")

Возможно ли получить значение some_engine из session в методе example? без фактической передачи some_engine или my_engine_string в example метод.

Что-то, как показано ниже:

def example(session):
   print("you created a session!")
   engine = <using session get the value of `some_engine`>
   print("the engine is retrieved from session")

1 Ответ

0 голосов
/ 16 января 2019

Session s имеет метод .get_bind(), который в вашем случае вернет ваш Engine экземпляр.

Возвращает «привязку», к которой привязан Session.

«Связывание» обычно является экземпляром Engine, за исключением случая, когда Session явно привязан к Connection.

Таким образом, ваша example() функция может сделать что-то вроде:

def example(session):
   print("you created a session!")
   engine = session.get_bind()
   print("the engine is retrieved from session")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...