Extending write() and create()
The Extending the business logic defined in a model recipe from this chapter showed us how to extend methods that are defined on a model class. If you think about it, methods that are defined on the parent class of the model are also part of the model. This means that all the base methods that are defined on models.Model
(actually, on models.BaseModel
, which is the parent class of models.Model
) are also available and can be extended.
This recipe shows you how to extend create()
and write()
to control access to some fields of the records.
Getting ready
We will extend the library example from the my_library
add-on module in Chapter 3, Creating Odoo Add-On Modules.
Add a manager_remarks
field to the library.book
model. We only want members of the Library Managers
group to be able to write to that field:
from odoo import models, api, exceptions class LibraryBook(models.Model): _name = 'library.book' ...