Enable Dark Mode!
By: Hajaj Roshan

How to use name_get function in odoo


In Odoo ERP whenever we make a quotation, sale order, or in any case when we type a product name, we can see the suggestion of products shown in a dropdown list. In this list product names are preceded with a unique code called an internal reference. This is shown in the suggestion list for selecting exact products from two or more products that have the same name.

In this blog, the name_get() function of the Odoo platform is explained in detail.

This process of obtaining internal reference with the product name in the product list is done using the name_get() function in Odoo.

This is the Record(set) info of name_get(),

Model.name_get() ? [(id, name), ...]

It returns a literary representation for the records inside. 

name_get() function returns a list of pairs (id, text_repr) for each records and the return type is a list(tuple)

Now let us see how to define a name_get() function inside a model,

Here, I have a  custom model ‘profit.center’ which has 2 fields as shown in the below image,


Now whenever I call this model using a Many2one relation between other models, only the profit center name will be listed as shown below,


So, using the name_get() function in Odoo, let us see how we can add the short name of each profit center along with the profit center name.

For that we shall define the name_get() function inside the model ‘profit.center’.

Defining name_get ()

class ProfitCenterInherited(models.Model):
     _inherit = 'profit.center'
    def name_get(self):result = []
    for rec in self:result.append((rec.id, '%s - %s' % (rec.short_name,rec.name)))
    return result

Here “short_name” and “name” are the technical names of profit center short name and profit center name respectively.

Now if we run this code, we can see the desired output as shown below,


In this manner we can define the name_get() function inside any model for better clarification of data and helps to select the exact item from a list.

If you need any assistance in odoo, we are online, please chat with us.


Leave a comment




Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635



Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.



Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message