ORMの不活性メカニズム

Djangoの不活性メカニズム

いわゆる不活性メカニズム:Publisher.objects.all()または.filter()は、これだけクエリセット(クエリ結果セットオブジェクト)を返し、それは直ちにSQL実行するが、唯一のクエリセットを呼び出すときに実行されません。

不活性機構は、反復してもよいです

OBJS = models.Book.objects.all()#[OBJ1、OBJ2、OB3 ...] ためOBJでOBJS:各オブジェクトの線は、SQLで実行されるOBJ#
#1      (印刷"OBJ:" 、OBJ) 
不活性機構スライス可能

 

不活性メカニズムをスライスすることができます

OBJS = models.Book.objects.all()#[OBJ1、OBJ2、OB3 ...] 
#1 プリント(OBJS [1])
#1 プリント(OBJS [1:4])
#1 プリント(OBJS [:: - 1 ])

 

キャッシングの問題のメカニズムの不活性ジャンゴ

    Djangoは、オブジェクトがキャッシュから直接値の値を確認するために、二回二時間をobjを同じ場合は、独自のキャッシュを持っています。

    データベースの変更の内容は中に行われた場合は、再チェック値にする必要があります。そうでなければ簡単に汚れたデータにつながります。

    それはまた、手動で再クエリの結果とすることができるが、これは推奨されない;直接ので、次のサイクルタイムと再度実行クエリデータベースクエリ操作のために、この時間は、キャッシュも変更を加え、オブジェクトobjが直接操作を更新する最初の時間のために使用することができますデータは、データクエリのデータ結果を使用するために適切またはジャンゴ自身変更されるときに我々は知らないので、

 

注:  データは2つの操作間で変更された場合は、データベースからの再チェック値への必要性が、そうでない場合Djangoは、キャッシュからデータを削除する最終結果に影響を与えます。

 

おすすめ

転載: www.cnblogs.com/Moodsfeelings/p/11817364.html