Greetings Everyone, in this blog-post you will learn how to override name_get method in Odoo 8.
The syntax of name_get is:
name_get(self) —> [(id, name), …]
Returns a textual representation for the records in self
. By default this is the value of the display_name
field.
Returns: | list of pairs (id, text_repr) for each records |
---|---|
Return Type: | list(tuple) |
Example of name_get method in Odoo 8:-
Here, what I want to do is, I want to view country and the country code both as name for any country.
- This was the scenario in the beginning. Whenever I clicked Many2one field of country (which calls name_get method) it only showed the country name as display value as shown in the picture below. My goal is to see the country name + country code as display.
- Now I will override the name_get method of res.country model.
Code to Override name_get method in Odoo 8 –
from openerp import models,api class res_country(models.Model): _inherit = 'res.country' @api.multi def name_get(self): res = super(res_country, self).name_get() data = [] for country in self: display_value = '' display_value += country.name or "" display_value += ' [' display_value += country.code or "" display_value += ']' data.append((country.id, display_value)) return data
Here, I need to prepare a list of tuple wich is passed as return value to the method.
Inside the loop of self, I need to prepare a string which I want as the display value. Here i concatenated the name and code. i.e display_value in above code
Then prepare a tuple. The first value in the tuple is the id of the record and the second value is the string (display) that we prepared above. Append all the tuples in a list and return.
- Now after restarting the server when I click on the Many2one field of country, country name + code is seen in the view as shown in the picture below,
Here is a snapshot from Eclipse IDE:-
Hope you got an insight and understanding of the name_get method in Odoo 8 and the way of overriding it.
Please Comment below if you have any doubts,
Thank you.
Nice Example.
Implemented the code and it works perfectly as I wanted. Nice Blog.
Thank You
It’s nearly impossible to find well-informed people for this topic, but you sound like you know what you’re
talking about! Thanks
It’s very effortless to find out any topic on net as compared to books,
as I found this paragraph at this site.
I’m really inspired with your writing abilities. Anyway stay up the nice
high quality writing, it’s uncommon to look a great weblog like this
one these days..
If you would like to increase your odoo know-how simply
keep visiting this web page and be updated with
the most recent information posted here.
Given a good example……
Awesome post. Thank You.
Very well explained. Thank you sir.