Odoo Help


Filter many2one field with another many2one field

Uppili Arivukkannu
on 11/7/16, 7:46 AM 864 views

In product.template class the two fields 'name' , 'type'

the 'name' field contains the product name and 'type' is a selection field of product type like stockable product, consumable, etc.

In manufacturing(mrp) module I like to add this 'type' field and based on this 'type' field I need to filter the 'product_id' field( product in mrp).

I simply added the the selection field in mrp

'product_type': fields.selection(            [('product', 'Stockable product'), ('consu', 'Consumable'), ('service', 'Service')], 'Material Type',            required=True,            help="Consumable: Will not imply stock management for this product. \nStockable product: Will imply stock management for this product."),

I also set the domain in 'product_id' field

'product_id': fields.many2one('product.product', 'Material', required=True, readonly=True, states={'draft': [('readonly', False)]}, domain=[('product_id','=','product_type')]),

 Since the filter is based on the 'product_type' this field should be many2one field of field 'type' from product.template.

Already the 'product_id' is the many2one field of 'name' from product.template.

Now how can I call two many2one field from the same class product.template?

I have no plan how to override name_get method

Axel Mendoza
On 11/7/16, 9:30 PM

Hi Uppili

You are doing it wrong with the domain in the field, remove it and try it exactly like this but in the XML view:

<field name="product_type"/>
<field name="product_id" domain="[('type','=', product_type)]"/>

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

1 follower(s)


Asked: 11/7/16, 7:46 AM
Seen: 864 times
Last updated: 11/7/16, 9:30 PM