How To Add One2many Field In Odoo

How To Articles

In this article, I will provide instructions on how to include a one2many field in Odoo. Utilizing a one2many field can be highly beneficial when establishing a one-to-many connection between two models in Odoo. It enables you to connect various records from one model to another.

Before we dive into the technical details, let me share with you my personal experience of working with one2many fields in Odoo. As a developer, I find one2many fields incredibly powerful and flexible. They provide a convenient way to manage and organize related data in Odoo. Whether you are working on a small customization or a complex module development, understanding how to add one2many fields will greatly enhance your capabilities in Odoo.

Adding a One2many Field in Odoo

To add a one2many field in Odoo, follow these steps:

  1. Identify the two models that you want to establish a one-to-many relationship between. Let’s say we have two models: ModelA and ModelB.
  2. In the definition of ModelA, add a field of type one2many with a relation to ModelB. Specify the name of the field and any other desired attributes.
  3. In the definition of ModelB, add a field of type many2one with a relation to ModelA. Specify the name of the field and any other desired attributes.
  4. Create the necessary views and forms for ModelA and ModelB if they don’t exist already. Include the newly added fields in the views as required.

Here is an example of how the code would look like:

class ModelA(models.Model):
_name = 'model.a'
_description = 'Model A'

model_b_ids = fields.One2many('model.b', 'model_a_id', string='Model B')

class ModelB(models.Model):
_name = 'model.b'
_description = 'Model B'

model_a_id = fields.Many2one('model.a', string='Model A')
name = fields.Char(string='Name')

Once you have added the one2many field and the related many2one field, you can use it in your Odoo application. You will be able to easily create, edit, and navigate the related records from the one2many field.


Adding a one2many field in Odoo can greatly enhance the functionality and flexibility of your module. It allows you to establish a one-to-many relationship between two models and manage related records effectively. By following the steps outlined in this article, you can successfully add a one2many field in Odoo.

Remember, the power of one2many fields lies in their ability to link and manage related data in Odoo. Use them wisely and leverage their capabilities to build robust and efficient applications.