python – ZODB相当于有序的dict(odict?)
作者:互联网
我正在做一些PloneFormGen的工作.目前,PloneFormGen在内部输入表单条目作为元组,没有关联的列信息.如果添加了新列(表单字段),则现有数据将变为无效.
这可以很容易地避免将数据存储在有序字典中,这些字典保留了输入的列顺序和列ID.
ZODB是否具有与有序字典等效的数据类型?如果可能,即使使用匹配的API(Python dict-like项操作和访问)?
解决方法:
you’ll probably have to build your own class as I am not aware of any current implementations.
你可以在这里找到基于PersistentDict和OOBtree的ZODB持久有序dicts的实现:
https://github.com/bluedynamics/node.ext.zodb/blob/master/src/node/ext/zodb/utils.py
此实现基于odict包:
http://pypi.python.org/pypi/odict
由于不可能将dict类型继承对象继承到ZODB(因为persistent.Persistent和dict具有不兼容的低级实现),因此odict提供了一种方法来轻松挂钩不同的基类(在整个地方内部使用_dict_impl函数).这就是为什么odict包仍然用于支持甚至python 2.7的有序dict实现或其他第三方有序实现的原因.
标签:python,plone,zope,zodb 来源: https://codeday.me/bug/20190716/1481197.html