Relationships between models
Non-trivial business application have a structured data model, and need to relate the data from the different entities involved. To do this, we need to use relational fields.
Looking again at our Library app, in the book model we can see the following relationships:
- Each book can have one publisher. This is a many-to-one relationship, implemented in the database engine as a foreign key. The inverse is a one-to-many relationship, meaning that each publisher can have many books.
- Each book can have many authors. That's a many-to-many relationship. The inverse relationship is also a many-to-many, since each author can have many books.
We will explore each of these relationships in the next sections.
A particular case is hierarchical relationships, where records in a Model are related to other records in the same Model. We will introduce a book category model to explain that case.
Finally, the Odoo framework also supports flexible relationships, where a field is able to...