如何关闭sqlalchemy.ext.sqlsoup创建的引擎

时间:2011-08-25 08:05:56

标签: python sqlalchemy

我正在使用sqlsoup来执行简单查询。 我的问题是如何关闭发动机? 谢谢!

import sqlalchemy.ext.sqlsoup as SqlSoup

db = SqlSoup('sqlite:///test.sqlite')
res = db.people.filter_by(id = 1).all()

return res[0]

1 个答案:

答案 0 :(得分:1)

我不确定你为什么认为你需要这个,但这里是:

import sqlalchemy.ext.sqlsoup as SqlSoup
import sqlalchemy

engine = sqlalchemy.create_engine('sqlite:///test.sqlite')

db = SqlSoup(engine)
res = db.people.filter_by(id = 1).first()

engine.dispose()

return res

使用Query.first()而非Query.all()[0],与SqlSoup分开创建引擎并将其传递给该引擎。之后您可以处理发动机。

请注意,在处理引擎时会创建新池;数据库不会永久断开连接,但任何打开的连接都会关闭,并且配置操作本身不会从新池中提取新连接。