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

Odoo教程实操中自定义XML表单视图渲染异常问题求助

问题排查及修复方案

你当前的表单XML存在以下几个明显的布局错误,直接修改即可匹配预期效果:

  1. notebook标签使用错误
    Odoo表单中所有标签页(page)必须放在同一个<notebook>容器下,你现在拆分了3个独立的notebook,会导致渲染成多组独立的标签栏,完全不符合常规布局逻辑。
  2. 字段重复定义
    postcode字段分别在顶部基础信息组和Description标签页中重复声明,可能引发渲染冲突。
  3. 外层布局结构错误
    你把notebook容器塞进了顶部双列布局的外层group中,导致标签页只能占半屏宽度,正确的结构应该是顶部双列信息组独立闭合,notebook单独放在外层,占满整个sheet的宽度。
  4. 可选优化点
    offer_ids如果是one2many类型字段,建议明确指定widget属性,避免默认渲染异常;form标签的string属性值Lost Reason和当前房产模型不匹配,可按需修改。

修正后的XML代码参考:

<record id="estate_property_view_form" model="ir.ui.view">
<field name="name">estate.property.form</field>
<field name="model">estate.property</field>
<field name="arch" type="xml">
    <form string="房产信息">
      <sheet>
          <h1 class="mb32">
              <field name="name" class="mb16"/>
          </h1>
          <!-- 顶部双列基础信息组 独立闭合 -->
          <group>
              <group>
                  <field name="property_type_id" string="Property Type"/>
                  <field name="postcode"/>
                  <field name="date_availability"/>
              </group>
              <group>
                  <field name="expected_price"/>
                  <field name="selling_price"/>
              </group>
          </group>
          <!-- 所有标签页放在同一个notebook下 -->
          <notebook>
              <page string="Description">
                <group>
                    <field name="tag_ids" string="Tag" widget="many2many_tags"/>
                    <field name="description"/>
                    <field name="bedrooms"/>
                    <field name="living_area"/>
                    <field name="facades"/>
                    <field name="garage"/>
                    <field name="garden"/>
                    <field name="garden_area"/>
                    <field name="garden_orientation"/>
                </group>
              </page>
              <page string="Other info">
                <group>
                    <field name="buyer"/>
                    <field name="salesperson"/>
                </group>
              </page>
              <page string="Offers">
                <group>
                    <field name="offer_ids" widget="one2many_list"/>
                </group>
              </page>
          </notebook>
      </sheet>
    </form>
</field>
</record>

修改完成后请升级对应模块,同时清空浏览器缓存和Odoo服务器缓存后再查看效果即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:54:05