首先我创建一个会话如下:from sqlalchemy import create_enginefrom sqlalchemy.orm import sessionmakersome_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 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
Sessions 具有.get_bind()在您的情况下将返回您的Engine实例的方法。
相关摘录自sqlalchemy docs:
返回绑定到的“绑定” Session。
“绑定”通常是 的实例Engine,除非Session已经明确地直接绑定到Connection。
因此,您的example()函数可以执行以下操作:
def example(session):
print("you created a session!")
engine = session.get_bind()
print("the engine is retrieved from session")
添加回答
举报
0/150
提交
取消