我基于BasicUser和PropertyManager编写了一个新的用户类。现在我可以添加和更改属性。但是当我重新启动服务器时,它们就消失了。
我能找到导致这种行为的任何想法吗?
Threre是类中定义的许多属性(_properties)。这些都没有受到影响。
答案 0 :(得分:1)
重新启动服务器时消失的数据几乎总是会导致更改无法正确写入数据库。
这反过来通常是因为您正在修改列表或字典而不是将对象持久化到光盘。有各种方法来解决这个问题。对于属性,您应该使用对象方法来更新和添加属性。
这些称为manage_addProperty
,manage_editProperties
,manage_delProperties
和manage_changeProperties
。
您可以在Zope2 Book的this page底部找到使用示例。
答案 1 :(得分:1)
缺少的基类是“持久”。我假设它必须是PropertyManager的基类,但它不是。