I have a many2one field like this
'product_id': fields.many2one('product.product', 'Product', required=True)
It displays me all the product names (name attribute from product_template class) and stores id inside. I would like to display the part_number of the product instead of name and store id inside. Is there a way to do this in openerp7. Thanks for your time.
There are a couple of ways to do this.
The name that is displayed for relational fields is the result of the name_get
method. You can inherit product.product
and override name_get
but that will affect the entire system, every time a product is displayed it will change this. You could code around this using the context
but it is starting to get messy.
If you just want the code I would create a related field like this.
'product_ref': fields.related(
'product_id',
'part_number',
string='Product',
readonly=True,
type='char',
help = 'The product part number',
)
and then use this on your form. The ORM layer is smart enough that if your particular record doesn't have a product ID or a product doesn't have a part number it will handle it gracefully.
If you needed to be a little trickier you could create a functional field that showed say the name and the part number for example.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With