“单例模式”的版本间的差异
来自Odoo大V社-odoo中文开发手册
1360857908(讨论 | 贡献) (创建页面,内容为“只有一个记录的记录集特殊情况称为单例记录集。单例仍然是一个记录集,可以在任何记录集的地方预计使用。 但是与多元...”) |
|||
第19行: | 第19行: | ||
请注意,空的记录也是单例。 | 请注意,空的记录也是单例。 | ||
+ | |||
+ | 上一节:[[查询模型]] 下一节:[[写在记录上]] |
2017年12月26日 (二) 00:41的最新版本
只有一个记录的记录集特殊情况称为单例记录集。单例仍然是一个记录集,可以在任何记录集的地方预计使用。 但是与多元素记录集不同,单例可以使用它访问它们的字段点表示法,如下所示︰
>>> print self.name Administrator
在下一个例子中,我们可以看到self的单例记录集也有行为作为一个记录集,我们可以迭代它。它只有一个记录,所以只有一个名字打印出来︰
>>> for rec in self: print rec.name Administrator
尝试访问记录集上的字段值,其中有多个记录错误,所以这可能是一个问题我们不确定我们是否在处理一个单例记录集。对于只使用单例模式的方法,我们可以在开始时检查使用self.ensure_one() 。如果self不是单例它会引发错误。
小提示
请注意,空的记录也是单例。