私の知る限り、経験上django
、スレッドのデータベース接続を共有することはできません。
私は周りを検索して、この問題の2つの解決策を見つけました。
SQL
関連するDBMSドライバーを直接使用して直接接続を使用する。- 使用
sqlalchmeny
とそのセッションポーリング。
本当に他の方法はありませんか?django
スレッドの新しい接続を作成するように依頼することはできません(私にとっては単純で便利なことのように聞こえます!)
ありがとう。
私の知る限り、経験上django
、スレッドのデータベース接続を共有することはできません。
私は周りを検索して、この問題の2つの解決策を見つけました。
SQL
関連するDBMSドライバーを直接使用して直接接続を使用する。sqlalchmeny
とそのセッションポーリング。本当に他の方法はありませんか?django
スレッドの新しい接続を作成するように依頼することはできません(私にとっては単純で便利なことのように聞こえます!)
ありがとう。
DBのスレッドセーフの問題は、接続とは何の関係もありません。これは、2つのスレッドが同じデータを同時に変更しようとした場合、または一方が書き込みを試み、もう一方が読み取りを試みた場合です。これを防ぐには、スレッドの1つがテーブルで何かを行う必要があるときに、テーブルをロックする必要があります。Django 1.4+ですばやく簡単に使用する方法はselect_for_update
、を使用することです。これにより、操作を実行するまでテーブルがロックされますupdate
。