1

トランザクション管理に関するDjango ドキュメントは、書き込み操作に焦点を当てています。Django が読み取りの一貫性を保証するものは何なのか、私は困惑しています。1 つの要求が複数の読み取りクエリを実行し、2 番目の要求がこれらのクエリの間にデータベースに書き込む場合、最初の要求が変更を認識しないという保証はありますか?

簡単な例で質問を説明するには:

c1 = select count(*) from Users
   <--- here User added by some other request
c2 = select count(*) from Users
assert c1 == c2 <-- Is this always true?

そのような保証がない場合、そのような隔離を達成することは可能ですか?

4

1 に答える 1

0

Django は、これらのことを保証する仕事をしているわけではありません。それはデータベース次第です。しかし、Django はデフォルトで、各リクエストを独自のトランザクション内で操作します。つまり、読み取り用に分離されています。

于 2013-01-18T15:55:40.703 に答える