一个 link 如何使用他们的 id 到其他定义的实体?

How does one link to other defined entities using their id?

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

我怎样才能做到这一点?

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

  • 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 关联的实际值,并将其代入记录中。