4

如果我加载一个具有多个 PersistentList 属性的对象 - 列表是否会全部自动加载?还是 ZODB 等到我访问列表中的一个元素才加载它?如果是后者,它是在访问元素时加载整个列表,还是只加载列表的一部分?

4

1 回答 1

4

如果列表中的元素本身继承自persistent.Persistent,它们将按需加载。

但是,不从 继承的原始类型和类Persistent与 PersistentList 实例一起加载到内存中。

PersistentList 基本上是UserList(and Persistent)的子类,它self._p_changed在更改时设置,因此对列表的更改被转换为 ZODB 提交以供记录。

于 2012-02-02T20:49:53.483 回答