Odoo 如何通过一个字符串搜索多个自定义字段?

How to search multiple custom fields by one string in Odoo?

我创建了一个自定义 odoo 模块,现在我想制作一个搜索过滤器,以便轻松地同时搜索多个字段。我将此代码添加到我的 xml 中,我能够单独搜索每个字段,但想将它们分组为一个字符串,以便用户可以通过一次搜索搜索所有字段(制造商名称 1-6)。有人知道这是否可能吗?

<record id="product_template_search_custom_view" model="ir.ui.view">
    <field name="name">product.template.customsearch</field>
    <field name="model">product.template</field>
    <field name="inherit_id" ref="product.product_template_search_view"/>
    <field name="arch" type="xml">
        <xpath expr="/search/field[@name='name']" position="before"> 
           <field name="x_mfrname1" string="Mfr Name1"/>
           <field name="x_mfrname2" string="Mfr Name2"/>
           <field name="x_mfrname3" string="Mfr Name3"/>
           <field name="x_mfrname4" string="Mfr Name4"/>
           <field name="x_mfrname5" string="Mfr Name5"/>
           <field name="x_mfrname6" string="Mfr Name6"/>
        </xpath>
    </field>
</record>

您可以使用 filter_domain 属性

<record id="product_template_search_custom_view" model="ir.ui.view">
    <field name="name">product.template.customsearch</field>
    <field name="model">product.template</field>
    <field name="inherit_id" ref="product.product_template_search_view"/>
    <field name="arch" type="xml">
        <field name="name" position="replace"> 
            <field name="name" filter_domain="['|', '|', '|', '|', '|', ('x_mfrname1','ilike',self), ('x_mfrname2','ilike',self), ('x_mfrname3','ilike',self), ('x_mfrname4','ilike',self), ('x_mfrname5','ilike',self), ('x_mfrname5','ilike',self)]" />
        </field>
    </field>
</record>

更多信息请查看the Odoo Documentation