通过oid查找和删除对象

时间:2017-06-23 16:30:28

标签: python zope zodb

我正在尝试从ZODB中删除引用将来不再存在的类的对象。问题在于:我可以通过let data = """ {"dictionary": {"enumValue": "someString"}} """.data(using: .utf8)! let decoder = JSONDecoder() do { let result = try decoder.decode(AStruct.self, from: data) print(result) } catch { print(error) } // AStruct(bStruct: BStruct(enumValue: Optional("someString"))) 找到它,但我不知道引用它的是什么。所有显而易见的事情都已完成 - 我删除了实际的oid内容甚至历史存储。

我做了一个XML导出来找到oid并且可以在调试器中获取它:

Plone

Products.GroupSpace.interfaces.IGroupSpace类将不再存在。我只想删除它。 " OB"是BTrees.OOBTree.OOBucket的一个实例,但我知道这一点 - 虽然我几乎肯定它是在门户网站的PersistentComponents中,但仍然相当模糊。