Understanding the ORM 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 see the ORM decorators we have available, and when each should be used.
Record handling decorators
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.
In some cases, the method is prepared to work with a single record (a singleton). Here we could use the  @api.one
decorator, but this is not advised because for Version 9.0 it was announced it would be deprecated and may be removed in the future.
Instead, we should...