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

Odoo 16自定义模块日历视图定义无效报错求助

Odoo 16自定义模块日历视图创建失败问题

问题场景

在自定义Odoo 16模块中,尝试创建如下日历视图:

<record id="tc_work_day_calendar" model="ir.ui.view">
    <field name="name">tc.work.day.calendar</field>
    <field name="model">tc.work.day</field>
    <field name="type">calendar</field>
    <field name="arch" type="xml">
        <calendar date_start="date_start" date_end="date_end" color="company_id" mode="month">
            <field name="date_start"/>
            <field name="date_end"/>
            <field name="company_id"/>
        </calendar>
    </field>
</record>

安装/升级模块时出现以下错误:

View definition tc.work.day.calendar invalid in lgr_TC/views/work_day.xml

View error context:
'-no context-'

已尝试的无效操作

  • 注释日历视图后,表单、树状及搜索视图可正常运行,但无法使用日历视图
  • 卸载并重新安装模块
  • 移除type字段
  • 与正常运行的模块对比代码(仅模块名称、视图名称等不同)

可行解决方案

  1. 检查字段类型与权限

    • 确认tc.work.day模型中的date_start、date_end字段为datetime类型,Odoo日历视图要求起始/结束字段必须是时间类型,不能是date类型。
    • 确保company_id字段存在且为many2one类型,同时当前用户拥有该字段的读取权限。
  2. 修正视图结构

    • Odoo 16的日历视图中,color属性对应的字段需正确声明,可尝试添加event_open_popup属性或调整字段顺序:
      <calendar date_start="date_start" date_end="date_end" color="company_id" mode="month" event_open_popup="true">
          <field name="company_id"/>
          <field name="date_start"/>
          <field name="date_end"/>
      </calendar>
      
  3. 排查视图冲突

    • 确认没有其他模块对tc.work.day模型的日历视图进行继承或重写,导致视图定义冲突。可在开发者模式中查看视图的继承关系。
  4. 验证XML语法

    • 检查XML文件是否存在语法错误,比如未闭合标签、引号不匹配等,可使用XML校验工具排查问题。
  5. 关联视图到动作菜单

    • 确保已将该日历视图添加到对应的窗口动作中,示例代码:
      <record id="action_tc_work_day" model="ir.actions.act_window">
          <field name="name">Work Days</field>
          <field name="res_model">tc.work.day</field>
          <field name="view_mode">tree,form,calendar</field>
          <field name="view_id" ref="tc_work_day_calendar"/>
      </record>
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 19:30:25