如何使用其ID链接到其他已定义的实体?

时间:2017-03-14 17:43:57

标签: openerp openerp-7

在编写XML文件时,我偶尔需要引用另一个实体,例如组,类别或操作。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

有两种不同的方法可以做到这一点,你使用哪种方法取决于你在记录中的位置:

  • type="xml"type="html"部分(例如treeform次)

  • 其他地方

type=["xml" | "html"]部分内,您需要使用%-interpolation:

<button string="..." name="%(fnx_pd.action_add_cleaning_order)d" type="action" />

<field name="item_id" domain="[('categ_id','=',%(fnx_pd.pd_cleaning)d)]" />

您要链接的内容需要位于%()d%()s构造内:%(module.id_name)d

如果不在xmlhtml段内,您可以使用OpenERP提供的ref()功能获取ID:

<field name="value" eval="'ir.actions.server,' + str(ref('action_release'))"/>

<field name="context" eval="{'default_pos_categ_id': ref('point_of_sale.categ_others')}"/>

在上述两种方法中,OpenERP将查找与给定id相关的实际值,并将其替换为记录。