The ORM method decorators
In the Odoo Python code encountered so far, we can see that decorators, such as @api.multi
, are frequently used in model methods. These are important for the ORM and allow it to give those methods specific uses.
Let's review the ORM decorators we have available and when each should be used.
Methods for recordsets – @api.multi
Most of the time, we want a custom method to perform some actions on a recordset. For this, we should use @api.multi
, and in that case, the self argument will be the recordset to work with. The method's logic will usually include a for
loop iterating on it. This is surely the most frequently used decorator.
Note
If no decorator is used on a model method, it will default to @api.multi behavior
.
Methods for singleton records – @api.one
In some cases, the method is prepared to work with a single record (a singleton). Here, we could use the @api.one
decorator that's still available, but announced as deprecated since Odoo 9. It wraps the decorated method...