举例如下:
<button name="button_get_product_quantity" type="object" string="查询可用量"/>
<!--button_get_product_quantity 是一个定义的方法-->
<field name="id" invisible="1"/>
<button name="%(sale_order_line_part_action_tree)d" type="action" string="配件信息" context="{'default_order_line_id':id}"/>
<!--sale_order_line_part_action_tree 是一个窗口动作-->
第一种传递domain比较简单,可以直接在函数返回的动作视图中添加domain,domain 的数据可以直接在函数中获取,此处不再赘述
第二种传递domain需要借助context实现:
<record id="sale_order_line_part_action_tree" model="ir.actions.act_window">
<field name="name">sale.order.line.part.action</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sale.order.line.part</field>
<field name="view_mode">tree,form</field>
<field name="view_type">form</field>
<field name="domain">[('order_line_id','=',context.get('default_order_line_id', True))]</field>
<field name="help" type="html">
<field name="target">new</field>
<p class="oe_view_nocontent_create">
<!-- Add Text Here -->
</p><p>
<!-- More details about what a user can do with this object will be OK -->
</p>
</field>
</record>
odoo 通过button跳转到tree视图,并传递domain
原文:https://www.cnblogs.com/qianxunman/p/12389946.html