saa*_*adi 2 postgresql sqlalchemy psycopg2 python-3.x
我正在使用它创建一个会话对象
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
maiden_engine = create_engine(connection_url)
session = sessionmaker(maiden_engine)
connector = session()
Run Code Online (Sandbox Code Playgroud)
现在对于某个用例,我想pyscopg2 cursor从该connector对象获取对象,有没有办法可以实现这种转换?
这就是通常创建游标对象的方式
import psycopg2
conn = psycopg2.connect(host, port, database, user, password, sslmode)
cursor = conn.cursor()
Run Code Online (Sandbox Code Playgroud)
请注意,此对话必须由第一个代码片段最后一行中的对象进行
connector,我不能使用maiden_engine或其他任何东西。
在你的情况下,connector变量是一个<class 'sqlalchemy.orm.session.Session'>对象。Session对象有一个.bind属性,该属性返回<class 'sqlalchemy.engine.base.Engine'>与会话关联的 。
Engine对象有一个.raw_connection()返回原始 DBAPI 连接(代理)的方法,并调用.cursor()该方法返回原始 DBAPICursor对象。因此,
crsr = connector.bind.raw_connection().cursor()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2434 次 |
| 最近记录: |