2011-12-07 7 views
0

Web.pyには独自のデータベースAPI web.dbがあります。代わりにSQLObjectを使用することは可能ですが、これを正しく行う方法を説明するドキュメントを見つけることができませんでした。私は特にデータベース接続の管理に興味があります。 wsgiエントリポイントで接続を確立して再利用することが最善の方法です。 Webpyの料理本には、example SQLAlchemyでこれを行う方法が含まれています。私は、SQLObjectを使って同様のことを正しく行う方法を知ることに興味があります。SQLObjectでwebpyを使用してdb接続を管理するには?

これは、私は現在、それを行う方法です。

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

それは各クエリに新しいデータベース接続を確立ので、これは、明らかに非効率的です。私は良い方法があると確信しています。

答えて

0

SQLAlchemyの例を理解する限り、プロセッサは使用されます。セッションは接続ごとに作成され、ハンドラの完了時にコミットされます(エラーが発生した場合はロールバックされます)。

WSGIのエントリポイントで接続を開くという簡単な方法はありません。複数のクライアントに同時にサービスを提供するには、おそらく接続プールが必要です。 (私は効率性、コードシンプルさなどのためにどのような要件があるのか​​よくわかりませんが、ご意見ください)

ConnectToDatabaseを各ハンドラに挿入するのはもちろん醜いです。 SQLAlchemyセッションをSQLObject接続に置き換えてcookbookの例を変更することをお勧めします。

関連する問題