如何使用带有SQLObject的webpy管理数据库连接?

时间:2011-12-07 10:40:12

标签: python database web-frameworks web.py sqlobject

Web.py有自己的数据库API,web.db。可以使用SQLObject,但我无法找到描述如何正确执行此操作的文档。我对管理数据库连接特别感兴趣。最好在wsgi入口点建立连接,并重用它。 Webpy cookbook包含example如何使用SQLAlchemy执行此操作。我有兴趣看看如何使用SQLObject正确地做类似的事情。

这就是我目前的做法:

class MyPage(object):
  def GET(self):
    ConnectToDatabase()
    ....
    return render.MyPage(...)

这显然效率低下,因为它在每个查询上建立了一个新的数据库连接。我确信有更好的方法。

1 个答案:

答案 0 :(得分:0)

据我所知,给出了SQLAlchemy示例,使用了一个处理器,即为每个连接创建一个会话,并在处理程序完成时提交(或者在发生错误时回滚)。

我没有看到任何简单的方法来执行您的建议,即在WSGI入口点打开连接。您可能需要一个连接池来同时为多个客户端提供服务。 (我不知道对效率,代码简单性等有什么要求。请发表评论。)

ConnectToDatabase次调用插入每个处理程序当然很难看。我建议您调整使用SQLObject连接替换SQLAlchemy会话的cookbook示例。