New models are defined through Python classes. Extending them is also done through Python classes, but with the help of an Odoo-specific inheritance mechanism.
To extend an existing model, we use a Python class with a
_inherit attribute. This identifies the model to be extended. The new class inherits all the features of the parent Odoo model, and we only need to declare the modifications we want to introduce.
In fact, Odoo models exist outside our particular Python module, in a central registry. This registry, can be accessed from model methods using
self.env[<model name>]. For example, to get a reference to the object representing the
res.partner model, we would write
To modify an Odoo model, we get a reference ...