Book Image

Odoo 10 Development Essentials

By : Daniel Reis
Book Image

Odoo 10 Development Essentials

By: Daniel Reis

Overview of this book

Odoo is one of the fastest growing open source, business application development software products available. With announcement of Odoo 10, there are many new features added to Odoo and the face of business applications developed with Odoo has changed. This book will not only teach you how to build and customize business applications with Odoo, but it also covers all the new features that Odoo has to offer. This book is the latest resource on developing and customizing Odoo 10 applications. It comes packed with much more and refined content than its predecessor. It will start with building business applications from scratch and will cover topics such as module extensions, inheritance, working with data, user interfaces, and so on. The book also covers the latest features of Odoo 10, in addition to front end development, testing and debugging techniques. The book will also talk about Odoo Community and Odoo Enterprise.
Table of Contents (20 chapters)
Odoo 10 Development Essentials
Credits
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Preface

Extending models


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 self.env['res.partner'].

To modify an Odoo model, we get a reference to its registry class and then perform in-place changes on it. This means that these modifications will also be available everywhere else where this new model is used.

During the Odoo server startup, the module loading the sequence is...