单例模式
来自Odoo大V社-odoo中文开发手册
只有一个记录的记录集特殊情况称为单例记录集。单例仍然是一个记录集,可以在任何记录集的地方预计使用。 但是与多元素记录集不同,单例可以使用它访问它们的字段点表示法,如下所示︰
>>> print self.name Administrator
在下一个例子中,我们可以看到self的单例记录集也有行为作为一个记录集,我们可以迭代它。它只有一个记录,所以只有一个名字打印出来︰
>>> for rec in self: print rec.name Administrator
尝试访问记录集上的字段值,其中有多个记录错误,所以这可能是一个问题我们不确定我们是否在处理一个单例记录集。对于只使用单例模式的方法,我们可以在开始时检查使用self.ensure_one() 。如果self不是单例它会引发错误。
小提示
请注意,空的记录也是单例。