Search code examples
pythonodooodoo-16

In odoo How to add search in Product Variants screen with a field in product template model


I want to add a search in Product Variants list screen with a custom field, I am already added to the product.template model

the field name is model_number and I added with this code

class ProductCoNew(models.Model):
    _inherit = 'product.template'

    model_number = fields.Char(string='Model', required=True)

and this is my code to add the search

<record id="res_product_product_tree_new" model="ir.ui.view">
    <field name="name">product.product_search_form_view</field>
    <field name="model">product.product</field>
    <field name="inherit_id" ref="product.product_search_form_view"/>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='name']" position="after">
           <field name="model_number_search" string="Model Number"
                   domain="[('product_tmpl_id.model_number', 'ilike', self)]"/>
        </xpath>
    </field>
</record>

and

class ProductProduct(models.Model):
    _inherit = 'product.product'

    model_number_search = fields.Char(related='product_tmpl_id.model_number',
                                      string='DES 1', readonly=True, store=True)

but this code not working and giving me an error.

Domain on non-relational field "model_number_search" makes no sense (domain:[('product_tmpl_id.model_number', 'ilike', self)])

I do not know what is the problem, please can anyone help me,


Solution

  • I found the solution, the problem in this line

    domain="[('product_tmpl_id.model_number', 'ilike', self)]"
    

    It must be

    filter_domain="[('model_number_search', 'ilike', self)]"