我基于 BasicUser 和 PropertyManager 编写了一个新的用户类。现在我可以添加和更改属性。但是当我重新启动服务器时,它们就消失了。
有什么想法可以找到这种行为的原因吗?
类 (_properties) 中定义了许多属性。这些不受影响。
我基于 BasicUser 和 PropertyManager 编写了一个新的用户类。现在我可以添加和更改属性。但是当我重新启动服务器时,它们就消失了。
有什么想法可以找到这种行为的原因吗?
类 (_properties) 中定义了许多属性。这些不受影响。
重新启动服务器时消失的数据几乎总是由于更改未正确写入数据库的影响。
这通常会发生,因为您正在修改列表或字典,而不是将对象保存到磁盘。有多种方法可以解决这个问题。对于属性,您应该使用对象方法来更新和添加属性。
这些被称为manage_addProperty
,manage_editProperties
和。manage_delProperties
manage_changeProperties
您可以在 Zope2 Book 的本页底部找到使用示例。
缺少的基类是“Persistent”。我假设它必须是 PropertyManager 的基类,但事实并非如此。