当我试图在另一台机器(mac)上从我的服务器(debian)导入一些对象时,我得到了这个错误:
Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module OFS.ObjectManager, line 620, in manage_importObject
Module OFS.ObjectManager, line 638, in _importObjectFromFile
Module ZODB.ExportImport, line 92, in importFile
Module transaction._transaction, line 260, in savepoint
Module transaction._transaction, line 257, in savepoint
Module transaction._transaction, line 690, in __init__
Module ZODB.Connection, line 1123, in savepoint
Module ZODB.Connection, line 587, in _commit
Module ZODB.ExportImport, line 176, in _importDuringCommit
AttributeError: 'module' object has no attribute '_dt_reconstructor'Zope和Python版本在两台机器上完全相同(Zope 2.13.19和Python 2.7.3)。在同一台计算机上重新导入可以正常工作。
我找到了导致问题的对象,它是我的一个自定义类的实例。我的问题是我不知道到哪里去修复这个错误。
此类的一个基类使用DateTime,但这不会对从该基类继承的其他类造成任何问题。
发布于 2012-11-16 19:01:42
检查您的DateTime egg版本。
DateTime 2.12.7添加了函数_dt_reconstructor,您至少需要在2.12.x系列中使用该版本,或者在3.0.x系列中使用版本3.0.1或更高版本才能再次取消DateTime实例。
3.0.x系列使用了更高效的内部结构,从而显著节省了内存。然而,3.0.x的DateTime代码可以读取2.x系列的泡菜,但是一旦你迁移到3.x,你就不能回到2.x,因为该格式不向后兼容。
https://stackoverflow.com/questions/13408838
复制相似问题