首先,我创建一个会话,如下所示:
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")
答案 0 :(得分:1)
Session
具有.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")