You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 11自定义看板视图报错:TypeError: dict.record.id is undefined

修复Odoo看板视图中record.id.value导致的TypeError报错

嘿,我之前在做Odoo自定义模块看板的时候也踩过这个一模一样的坑!咱们来快速搞定这个问题。

问题根源

在Odoo的QWeb看板模板里,record对象的字段访问逻辑和表单视图完全不一样:

  • 表单视图里的字段组件需要用.value来获取字段当前值,但看板模板中的record直接暴露了字段的原始值,根本不需要额外加.value后缀。
  • 另外你调用kanban_image函数时,第一个参数得填完整的模型外部ID(也就是你的aula10.maestro),而不是短名称maestro,这也是很容易忽略的细节。

修复方案

把你看板模板里的img标签代码改成下面这样:

<img t-att-src="kanban_image('aula10.maestro','image_medium', record.id)"/>

完整修复后的看板视图代码

<record model="ir.ui.view" id="maestro_kanban_view">
    <field name="name">maestro.kanban.view</field>
    <field name="model">aula10.maestro</field>
    <field name="groups_id" eval="[(4, ref('grupo_maestros'))]"/>
    <field name="arch" type="xml">
        <kanban>
            <!-- 建议显式声明id字段,确保看板能稳定获取记录ID -->
            <field name='id'/>
            <field name='name'/>
            <field name='image'/>
            <templates>
                <t t-name="kanban-box">
                    <div class="oe_kanban_global_click">
                        <div class="o_kanban_image">
                            <img t-att-src="kanban_image('aula10.maestro','image_medium', record.id)"/>
                            <div class="oe_kanban_details">
                                <h4>
                                    <a type="open">
                                        <field name="name"/>
                                    </a>
                                </h4>
                            </div>
                        </div>
                    </div>
                </t>
            </templates>
        </kanban>
    </field>
</record>

额外小提示

我还在<kanban>标签下加了<field name='id'/>,虽然Odoo默认会加载id字段,但显式声明能避免一些特殊场景下的字段未加载问题,让看板运行更稳定。

内容的提问来源于stack exchange,提问作者Daniel Ruiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:06:30