New models are defined through Python classes. Extending them is also done through Python classes, but using an Odoo specific 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 that we wish to introduce.
In fact, Odoo models exist outside our particular module, in a central registry. This registry can also be referred to as the pool, and can be accessed from model methods using
self.env[<model name>]. For example, to reference the
res.partner model we would write
To modify an Odoo model we get a reference ...