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

More model inheritance mechanisms


We have seen the basic extension of models, called class inheritance in the official documentation. This is the most frequent use of inheritance, and it's easiest to think about it as in-place extension. You take a model and extend it. As you add new features, they are added to the existing model. A new model isn't created. We can also inherit from multiple parent models, setting a list of values to the _inherit attribute. With this, we can make use of mixin classes. Mixin classes are models that implement generic features we can add to other models. They are not expected to be used directly, and are like a container of features ready to be added to other models.

If we also use the _name attribute with a value different from the parent model, we get a new model reusing the features from the inherited one but with its own database table and data. The official documentation calls this prototype inheritance. Here you take a model and create a brand new one that...