如何访问看板视图odoo 0.8上的one2many字段值?
问题描述:
我需要遍历o2m提交给看板的记录,以显示我需要从另一个模型中找到的内容。如何访问看板视图odoo 0.8上的one2many字段值?
所有我需要在看板为了做到这一点
<t t-foreach="o2m_field" t-as"record">
<t t-esc="record.name"/>
</t>
这是可能做到这一点?
答
是的,你可以。
此问题重复至Is it possible to show an One2many field in a kanban view in Odoo?,但此处链接的是来自Serpent Consulting的模块,该模块可以完成您正在寻找的任务。
https://apps.openerp.com/apps/modules/8.0/web_one2many_kanban/
这里是一个小的详细信息。
<kanban>
<field name="one2manyFieldname"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_content">
<p>
<t t-foreach="record.one2manyFieldname.raw_value" t-as='o'>
<t t-esc="o.name"/><br/>
</t>
</p>
</div>
</t>
</templates>
</kanban>
重要的部分是模板标签之前,你必须通过你的one2many领域,所以它可以在你的模板中。然后你必须访问记录的“raw_value”并给它一个别名。喜欢这个。
<t t-foreach="record.one2manyFieldname.raw_value" t-as='o'>
然后你可以访问记录的属性。
在t-foreach标签的范围内,您可以像这样访问记录的属性。
<t t-foreach="record.one2manyFieldname.raw_value" t-as='o'>
ID: <t t-esc="o.id"/><br/>
Name: <t t-esc="o.name"/><br/>
Write Date: <t t-esc="o.write_date"/><br/>
Write UID: <t t-esc="o.write_uid"/><br/>
Some Property: <t t-esc="o.some_property"/><br/>
<br/>
</t>
您应该可以访问您拥有别名的每个记录的属性(在本例中为'o')。不要从字面上理解上述内容。您的html和css的布局和样式取决于您。以及您选择显示的记录属性。
Many2one值是作为元组提供的。像这样访问many2one属性。
Many2one ID: <t t-esc="o.partner_id[0]"/>
Many2one Name: <t t-esc="o.partner_id[1]"/>
我做了什么 1 - 安装web_one2many_kanban 2 - 我的模块 ' zoser.book.kanabn zoser.book 看板 ' 而我得到这个错误 没有列举给foreach, –
Mostafa
谢谢你的大力帮助,现在一切正常。 – Mostafa
你对any2one字段有任何想法如何访问该字段的值,因为它只返回id和名称? – Mostafa