Odoo Help


Easy way to create field

Dr Obx
on 4/5/15, 5:29 PM 1,234 views

Hi guys, i want create field with option "add" so if something will be added and saved next time it will be there and user can use it.

I would like to built it in product by the way :).

For example list of brands or .... else.

I upvote for all your questions and answer, you have now enough Karma to comment normally, please do not use link you receive by mail, it display part of my email address, thank you, for your question, did you try to create a new attribute instead to change the type ? I believe that the fact to change type works not very well ...

Cyril Gaspard (GEM)
on 4/5/15, 8:41 PM

Thank you thank you thank you i'm so appreciated you just save a lot of my time sharing your knowledge with me. Thank You Cyril. By the way, based on example yu sent me yesterday i've built what i wanted ;) and now i have a field having create & edit option ;) which is great but if would you tell me how/what should i do i don't fully understand how can i do it. Like I said now if a'm using many2one field it gives me not Value/Name but (product.template(position,)) which is really ... bad :)

Dr Obx
on 4/6/15, 5:35 AM

Hi, what is your odoo version ? Have you a test server ? Try to delete all record attributes you set in product and delete all records in 3 menu attibutes group options, and created a new one with field many2one ?

Cyril Gaspard (GEM)
on 4/6/15, 5:49 AM

My odoo 8.0, got my own server so i can do whatever I want no probs at all. Would you explain it to me a little bit ? like I said I'm a newbie so many things are completely magical to me ;) I just started learning how it works ;)

Dr Obx
on 4/6/15, 5:59 AM

I've tried these modules but none of them work - can't install it :( all the time something is missing so I gave up.

Dr Obx
on 4/6/15, 9:18 AM

I believe I didn't all understood, since you intall modules, now for all fields many2one you have not Value/Name but (product.template(position,)) . You shoiud uninstall modules or cancel installation, and let me know the result (refresh your browser too)

Cyril Gaspard (GEM)
on 4/6/15, 9:55 AM

Link below, I tried it but it doesn't work i mean base_custom_attributes and product_custom_attributes. I though that you talking about these modules ? Let me explain, I've built another module, it adds a lot of fields into the product. Some of these fields are many2one for example: 'istock_com0a':fields.many2one('product.template', 'Processor type', required=False), It works fine until i want one of these fields to be used by 'Merge" function. I'm pretty sure it have to be done other way. But how is still a mystery for me :) So if I already have some fields and i would like to built name based on these fields (all many2one) how should i do it ? If it is selection there is no problem it works excellent ;) Sorry to bother you that much you're my only hope/help ;)

Dr Obx
on 4/6/15, 1:18 PM

To be perfectly clear, i don't fully understand how it work to build correctly but i'm analising what you gave me and now i know a little bit more ;)

Dr Obx
on 4/6/15, 1:30 PM

Meantime I've built a list of brands which is working fine ;) I can add name to the list and use it whenever i want :)

Dr Obx
on 4/6/15, 1:33 PM

Then it's ok now ?

Cyril Gaspard (GEM)
on 4/6/15, 1:57 PM
Let me explain one more time. Everything work as I expected but ...
If I'm trying to use a many2one field it shows me (product.template(number,))
If I'm using fields declared in module it makes name of them correctly.
So how can i combine it together and get product name using other many2one fields ?
I did a lot of combinations but none of them work ;(
Look, if I'm using this field 'istock_com0a':fields.many2one('product.template', 'Processor type', required=False),
(this is my product.template - whole list filtered depending on what i need ex.; processors - supplied by other module)

How can I connect it to this code:

class Product_Template(models.Model):

    _inherit = "product.template"

    istock_com0 = fields.Char('brand')

    istock_com1 = fields.Char('type')

    istock_com2 = fields.Char('size')

    prod_name = fields.Char(compute="_get_prod_name", string="Product Name")


    @api.depends("istock_com0", "istock_com1", "istock_com2")

    def _get_prod_name(self):

        istock_com0 = self.istock_com0 or ' '

        istock_com1 = self.istock_com1 or ' '

        istock_com2 = self.istock_com2 or ' '

        name = ustr(istock_com0) + ' ' + ustr(istock_com1) + ' ' + ustr(istock_com2)


Dr Obx
on 4/6/15, 2:14 PM
Hey Cyril, is there any chance to add conditions and decide which configuration
will be used for example:

if itype ="type1":
    prod_name = field2 + field4 + field12

if itype = "type2":
    prod_name = field1 + field3 + field6

and so forth

Dr Obx
on 4/7/15, 8:16 AM

Cyril Gaspard (GEM)

--Cyril Gaspard (GEM)--

| 5 6 8
Paris, France
--Cyril Gaspard (GEM)--

Forum contributor since 2008

Cyril Gaspard (GEM)
On 4/5/15, 5:58 PM

easy, not,

but there is a module for that for openerp 6.1 an 7, but not ported in v8, could not correspond to your need,

module base_custom_attributes and product_custom_attributes (which add button to add attibute and set value in product form):


old video :



I will test this package but so far ... none of these modules work for me ;( However I can use it for learning :)

Dr Obx
on 4/6/15, 2:32 PM

About This Community

This platform 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.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 4/5/15, 5:29 PM
Seen: 1234 times
Last updated: 4/7/15, 8:17 AM