如何在看板视图 odoo 0.8 上访问 one2many 字段值?

How to access one2many fields values on Kanban view odoo 0.8?

我需要遍历看板中归档的 o2m 记录,以显示我需要从其他模型获得的信息。

我需要在看板视图中执行此操作

<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? 重复,但这里有一个 link 来自 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]"/>

对于 Odoo14

<!-- Your parent form groups and field goes here -->    
        
<field name="your_one2many_field" nolabel="1">
    <kanban class="o_kanban_mobile">
        <templates>
            <t t-name="kanban-box">
                <div t-attf-class="oe_kanban_global_click">                 
                    <div class="oe_kanban_details">                     
                        <div class="o_kanban_record_top">
                            <div class="o_kanban_record_headings">                  
                                <strong class="o_kanban_record_title">Title Goes Here</strong>                  
                            </div>
                        </div>
                        
                        <b>Label 1: </b><field name="field_1"/><br/>
                        <b>Label 2: </b> <field name="field_2"/><br/>
                        <b>Label 3:</b> <field name="field_3"/><br/>   
                    </div>
                </div>
            </t>
        </templates>
    </kanban>
    <form>
        your_one2many_field form goes here....
    </form>
</field>

参考:Kanban in One2Many Field