如何在Odoo中按一个字符串搜索多个自定义字段?

时间:2015-09-08 17:14:34

标签: filter openerp odoo-8

我创建了一个自定义odoo模块,现在我想制作一个搜索过滤器,可以让您轻松同时搜索多个字段。我将此代码添加到我的xml中,我可以单独搜索每个字段,但是希望将它们分组为一个字符串,以便用户可以通过一次搜索搜索所有字段(mfr名称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>

1 个答案:

答案 0 :(得分:5)

您可以使用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