Understanding ORM method decorators for recordsets
The method definition can be preceded by an @
, which applies a decorator to it. These decorators add specific behaviors for these methods and depending on the purpose of a method, different decorators can be used.
Decorators for computed fields and validation methods
A few decorators are useful for validation logic and computed fields. They are listed here:
@api.depends(fld1,...)
is used for computed field functions to identify what changes the (re)calculation should be triggered on. It must set values on the computed fields; otherwise, an error will be shown.@api.constrains(fld1,...)
is used for model validation functions and performs checks for when any of the mentioned fields are changed. It should not write changes in the data. If the checks fail, an exception should be raised.
These were discussed in detail in Chapter 6, Models – Structuring the Application Data.
Another group of decorators...