如果我加载一个具有多个 PersistentList 属性的对象 - 列表是否会全部自动加载?还是 ZODB 等到我访问列表中的一个元素才加载它?如果是后者,它是在访问元素时加载整个列表,还是只加载列表的一部分?
问问题
302 次
如果列表中的元素本身继承自persistent.Persistent
,它们将按需加载。
但是,不从 继承的原始类型和类Persistent
与 PersistentList 实例一起加载到内存中。
PersistentList 基本上是UserList
(and Persistent
)的子类,它self._p_changed
在更改时设置,因此对列表的更改被转换为 ZODB 提交以供记录。