单例模式

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索

只有一个记录的记录集特殊情况称为单例记录集。单例仍然是一个记录集,可以在任何记录集的地方预计使用。 但是与多元素记录集不同,单例可以使用它访问它们的字段点表示法,如下所示︰

>>> print self.name
Administrator
 

在下一个例子中,我们可以看到self的单例记录集也有行为作为一个记录集,我们可以迭代它。它只有一个记录,所以只有一个名字打印出来︰

>>> for rec in self:
print rec.name

Administrator
 

尝试访问记录集上的字段值,其中有多个记录错误,所以这可能是一个问题我们不确定我们是否在处理一个单例记录集。对于只使用单例模式的方法,我们可以在开始时检查使用self.ensure_one() 。如果self不是单例它会引发错误。

小提示

请注意,空的记录也是单例。

上一节:查询模型 下一节:写在记录上