2011-12-07 46 views
0

Web.py擁有自己的數據庫API web.db.可以使用SQLObject來代替,但我一直無法找到描述如何正確執行此操作的文檔。我對管理數據庫連接特別感興趣。最好在wsgi入口點建立一個連接,並重新使用它。 Webpy cookbook包含一個example如何使用SQLAlchemy完成此操作。我有興趣瞭解如何使用SQLObject正確地做類似的事情。如何使用帶有SQLObject的webpy管理數據庫連接?

這是我目前要做的事:

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

這顯然是低效的,因爲它建立在每個查詢新的數據庫連接。我確定有更好的方法。

回答

0

據我瞭解給出的SQLAlchemy示例,使用了一個處理器,即爲每個連接創建一個會話,並在處理程序完成時提交(如果發生錯誤,則回滾)。

我沒有看到任何簡單的方法來執行您的建議,即在WSGI入口點打開連接。您可能需要一個連接池來同時爲多個客戶端提供服務。 (我不知道什麼是效率要求,代碼簡單等等,雖然,請評論)

插入ConnectToDatabase調用到每個處理程序當然是醜陋的。我建議你調整Cookbook示例,用SQLObject連接替換SQLAlchemy會話。