如何在Odoo的默认搜索视图中搜索记录?

时间:2015-10-28 06:56:41

标签: python xml openerp odoo

默认搜索结果仅由第1列(字段)记录,即customername。但我想用其他列名搜索一些记录。任何帮助?提前致谢

以下是我的搜索视图的代码..

<record id='Booking_search' model='ir.ui.view'>
        <field name="name">Book A Room.search</field>
        <field name="model">book.room</field>
        <field name="type">search</field>
        <field name="arch" type="xml">

            <search  string='first'>
                <group string='Customers with Incomplete Details'>
                   <field name='mobile'/> -->
                   <filter string="No Address" domain="[('address','=',False)]"/>
                   <field name='name'/>

                <filter string="No Mobile" domain="[('mobile','=',False)]"/>
                <field name='name'/>

                </group>

            </search>
        </field>
    </record>

1 个答案:

答案 0 :(得分:4)

您只能使用搜索视图中定义的那些字段。

为此,您需要在context.key中传递正确的键和值

search_default_filter_name

示例:在res_partner搜索视图中,有一个这样的过滤器

<filter string="Persons" name="type_person" icon="terp-personal" domain="[('is_company','=',0)]"/>

如果您希望此过滤器作为此

的默认传递上下文
 <field name="context">{"search_default_customer":1,"search_default_type_person":1}</field>

如果你不希望search_default_customer使用{“search_default_type_person”:1}像这样传递{“search_default_customer”:0,“search_default_type_person”:1}

您还可以使用搜索视图中的字段

<field name="parent_id" filter_domain="[('parent_id','child_of',[self])]"/>

用于使用字段传递上下文,如{“search_default_parent_id”:1}

希望这会有所帮助