2

一对多关系在 ZODB 中不起作用,因为列表是可变的。他们说解决方案是持久映射或持久列表或 BTree。有人可以告诉我它是如何完成的

4

1 回答 1

5

我不确定我是否理解你的问题。

PersistentMapping 的行为就像字典一样,但它是持久的。PersistentList 只是一个那个,一个持久的列表。

BTree 的行为也类似于字典,但它针对大量对象进行了优化。如果您必须处理许多对象,则不应使用 PersistentMapping 或 PersistentList。

对于 ZODB 关系,您可以像在 Python 中通常那样使用对象引用。

如果需要,ZODB 甚至支持弱引用。

还有其他专门的包,如 z3c.relationfield,用于处理 ZODB 中的关系,例如,如果您需要按关系搜索,但我从未需要使用它们。

于 2010-10-21T08:20:52.550 回答