Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

1

how to override name_get method in new api

By
Soohoo
on 8/27/14, 4:13 AM 3,384 views

can anbody tell me override name_get method in new api

This question has been included in the official documentation.
2
Soohoo
On 8/27/14, 6:18 AM

In the new api, it's the field display_name. Just override the field display name to a computed one.

 class res_partner(Model):
        ...

        display_name = fields.Char(
            string='Name', compute='_compute_display_name',
        )

        @api.one
        @api.depends('name', 'parent_id.name')
        def _compute_display_name(self):
            names = [self.parent_id.name, self.name]
            self.display_name = ' / '.join(filter(None, names))

This question has been included in the official documentation.
0
Burhan Vakharia
On 8/24/16, 3:00 AM

Learn – Overriding name_get method in Odoo 8 with Example & Screenshots - Odoo Technical

http://odootechnical.com/overriding-name_get-method-in-odoo-8/

This question has been included in the official documentation.
0
Toni Mas
On 12/9/14, 11:33 AM

I had some problems with this until I read this post by Martin Trigaux in the mailing list:

https://www.odoo.com/groups/community-59/community-8908652

Perhaps is a good idea to update the docs.

 

Hello, Sorry to contradict you but it's actually still name_get that you should override. The initial intended behaviour was indeed to have display_name as replacement of name_get. However there were lot's of issues with the initial implementation and it was not backward compatible with the old api and we have to partially go back to old behaviour[1].

So the current behaviour of the name_get/display_name is the following:

name_get is still the main function used for rendering display_name is a computed field that will use name_get If you want to change both, you should still override name_get (see event for example[2]).

Changing the method of display_name would affect only display_name, not name_get (can be what we want[3] but usually not).

We may change one day to fully use display_name and drop name_get but that means breaking the backward-compatibility.

Hope it's clear.

[1] https://github.com/odoo/odoo/commit/f138aa26085d103a88dbd8bb73fb8bf5517298ad

[2] https://github.com/odoo/odoo/blob/8.0/addons/event/event.py#L194

[3] https://github.com/odoo/odoo/blob/8.0/openerp/addons/base/res/res_partner.py#L232

--

Martin Trigaux Odoo (Formerly OpenERP)

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

3 follower(s)

Stats

Asked: 8/27/14, 4:13 AM
Seen: 3384 times
Last updated: 8/24/16, 3:00 AM