Exploring useful data model patterns
There are a few data structures that are often needed for models that represent business documents. These can be seen in several Odoo apps, such as Sales Orders or Invoices.
A common pattern is the header/lines data structure. It will be used for a checkout request so that you can have several books. Another pattern is to use states or stages. These two have differences, and we will discuss them and provide a reference implementation shortly.
Finally, the ORM API provides a few methods that are relevant for the user interface. These will also be discussed in this section.
Using header and lines models
A common need for form views is to have header-line data structures. For example, a sales order includes several lines for the ordered items. In the case of the checkout feature, a checkout request can have several request lines, one for each of the borrowed items.
With Odoo, it is simple to implement this. Two models are needed for...