複数の PersistentList 属性を持つオブジェクトをロードすると、リスト全体が自動的にロードされますか? それとも、リストの要素にアクセスしてロードするまで ZODB は待機しますか? 後者の場合、要素がアクセスされるたびにリスト全体をロードしますか、それともリストの一部のみをロードしますか?
1 に答える
4
リスト内の要素自体が から継承されpersistent.Persistent
ている場合、それらはオンデマンドで読み込まれます。
ただし、から継承しないプリミティブ型およびクラスはPersistent
、PersistentList インスタンスとともにメモリにロードされます。
UserList
PersistentList は基本的に(and Persistent
)のサブクラスでありself._p_changed
、変更されたときに設定されるため、リストへの変更はそのレコードの ZODB コミットに変換されます。
于 2012-02-02T20:49:53.483 に答える