トランザクション管理に関する Django ドキュメントの章を読みました。私が理解していることから、トランザクションTransactionMiddleware
は呼び出されるとすぐに開始されます。次に、 を使用して@commit_on_success
、@commit_manually
トランザクションの終了を制御する可能性があります。
私の質問: TransactionMiddleware を完全に取り除くことなく、トランザクションの開始を制御する可能性はありますか? 私の懸念は、Django フレームワークの多くの部分が実際には TransactionMiddleware の存在に依存していることです。明示的に指定したアプリケーションに属するビューを除いて、すべてのビューに使用したいと思います。何よりも、特定のグループのビューのトランザクション動作を最初から最後まで完全に制御できるようにしたいと考えています。どのようなアプローチを取るべきですか? 私を助けるための外部アプリ、ライブラリはありますか? 最初のデータベース ヒットが発生するとすぐに、トランザクションは積極的に作成されますか、それとも遅延して作成されますか?