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

继承crm.crm_case_form_view_oppor时遭遇Odoo ParseError问题

Odoo CRM视图继承触发ParseError问题解决

问题原因

你在继承视图的arch字段里写了完整的<form>结构,这违反了Odoo视图继承的规则。继承视图的arch只能包含修改指令(比如xpath定位、字段的position属性),不能重新定义整个表单框架。当保留inherit_id时,Odoo会把这个视图当作继承视图解析,完整的form结构不符合继承语法,所以抛出ParseError;移除inherit_id后,它变成独立视图,完整form结构合法,因此正常运行。

正确写法示例

如果要对原商机表单做局部修改(比如添加字段、调整现有元素),参考以下写法:

<odoo>
    <data>
        <record id="view_custom_crm_lead_form" model="ir.ui.view">
            <field name="name">custom.crm.lead.form</field>
            <field name="model">crm.lead</field>
            <field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
            <field name="arch" type="xml">
                <!-- 示例1:在原视图的基本信息组内添加自定义字段 -->
                <xpath expr="//group[@name='lead_info']" position="inside">
                    <field name="your_custom_field"/>
                </xpath>

                <!-- 示例2:修改原名称字段的显示文本 -->
                <field name="name" position="attributes">
                    <attribute name="string">自定义商机标题</attribute>
                </field>
            </field>
        </record>
    </data>
</odoo>

核心注意点

  • 继承视图的arch中不能出现顶层<form>标签,必须基于原视图结构做局部修改
  • 用xpath定位元素时,可通过Odoo开发者模式查看原视图的XML结构,确保路径准确
  • 常用position属性:inside(内部插入)、after(元素后插入)、replace(替换元素)、attributes(修改元素属性)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:51:03