您如何将持久对象的基本类型属性排除在持久之下



例如,如果类型是对象的int或str属性,则如何将其排除在对象类中。就像您必须在属性之前声明装饰商一样,这是什么?

持续规则:

  • 您的对象及其属性必须是"可挑选的"。
  • 您的对象不能具有以" p "开头的任何属性。
  • _v_开头的对象的属性是"挥发性"的,并且不能保存到数据库(请参阅下一节)。
  • 您必须明确表示对可变属性(例如实例,列表和字典)进行的任何更改或使用 可变物体的持续版本,例如
    ‘zodb.persistentmapping’

第三个规则是以_v_开头的所有对象属性为 "挥发性",并未保存到数据库中。这意味着只有 由于持续的对象在Zope内存缓存中,挥发性属性 可以使用。当对象被停用时(从内存中删除) 挥发性属性被扔掉。

挥发性属性对于可用于缓存的数据很有用 虽然经常可以被扔掉并容易重新创建。文件 连接,缓存的计算,渲染模板,所有这些 事物类型是挥发性属性的有用应用。你 使用挥发性属性时,必须谨慎行事。既然你有 几乎没有控制物体何时将对象移入和移出内存, 您永远不知道您的挥发性属性何时消失。

最新更新