猿问

是否可以从 sql alchemy 会话中检索引擎值

首先我创建一个会话如下:


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")


慕斯王
浏览 157回答 1
1回答

慕尼黑8549860

Sessions 具有.get_bind()在您的情况下将返回您的Engine实例的方法。相关摘录自sqlalchemy docs:返回绑定到的“绑定” Session。“绑定”通常是 的实例Engine,除非Session已经明确地直接绑定到Connection。因此,您的example()函数可以执行以下操作:def example(session):&nbsp; &nbsp;print("you created a session!")&nbsp; &nbsp;engine = session.get_bind()&nbsp; &nbsp;print("the engine is retrieved from session")
随时随地看视频慕课网APP

相关分类

Python
我要回答