Defining model methods and using the API decorators
The model classes defining custom data models declare fields for the data processed by the model. They can also define custom behavior by defining methods on the model class.
In this recipe, we will see how to write a method that can be called by a button in the user interface, or by some other piece of code in our application. This method will act on LibraryBooks
and perform the required actions to change the state of a selection of books.
Getting ready
This recipe assumes that you have an instance ready, with the my_module
addon module available, as described in Chapter 4,Creating Odoo Addon Modules. You will need to add a state field to the LibraryBook
model, defined as follows:
from odoo import models, fields, api class LibraryBook(models.Model): # [...] state = fields.Selection([('draft', 'Unavailable'), ('available', 'Available'), ('borrowed', 'Borrowed'), ...