zope - 如何在 ZODB 中实现持久列表或持久映射

标签 zope zodb

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

最佳答案

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

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

BTree 也充当字典,但它针对大量对象进行了优化。如果您必须处理许多对象,则不应使用 PercientMapping 或 PercientList。

对于 ZODB 关系,您可以使用 object references就像您通常在 Python 中所做的那样。

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

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

关于zope - 如何在 ZODB 中实现持久列表或持久映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2709776/

相关文章:

python - ZODB 忽略目标缓存对象计数和目标缓存内存大小

python - ZEO ZODB 数据库 - 在本地运行不工作

plone - ZODB 内存后端?

python - ZODB pool_size的合理设置

performance - 何时在我的tal :condition?上使用nocall

python - SqlAlchemy,生成的对象 Id 和 Zope 事务

performance - 提高 Plone 搜索结果中大型表的性能

python - 导入错误: cannot import name IPossibleSitenterfaces import IPossibleSite: version mismatch?

python - Zope 中 Python 脚本的 i18n(受限 python)

windows - 适用于 64 位 Windows 的 ZODB 3