Odoo客户模块添加字段不显示问题排查求助
Odoo res.partner添加字段不显示问题排查
我尝试在Odoo的客户(res.partner)模块中添加department_name和option_units两个字段,但这两个字段未在伙伴模块中显示,请问问题出在哪里?以下是我的相关代码:
models.py
from odoo import models, fields, api # PARTNERS ////////////////////////////////////////////////// class ResPartner(models.Model): _inherit = 'res.partner' department_name = fields.Char(string="Department") option_units = fields.Selection([ ('room3','Room 3'), ('room4','Romm 4'), ('room5','Room 5') ],string='Options')
views.xml
<odoo> <data> <record id="partner_menu_action" model="ir.actions.act_window"> <field name="name">Partners</field> <field name="res_model">res.partner</field> <field name="view_mode">tree,form</field> </record> <menuitem id="receipt_menu_root" name="Receipt Units"/> <menuitem id="partner_menu_main" name="Partners" action="partner_menu_action" parent="receipt_menu_root"/> <record id="res_partner_customizations_form" model="ir.ui.view"> <field name="name">res.partner.customizations.form</field> <field name="model">res.partner</field> <field name="inherit_id" ref="base.view_partner_form"/> <field name="arch" type="xml"> <field name="mobile" position="after"> <field name="department_name"/> </field> <field name="email" position="after"> <field name="option_units"/> </field> </field> </record> </data> </odoo>
可能的问题原因及解决方法
- 模块未正确更新:确认自定义模块已安装,添加字段后必须点击模块列表中的"升级"按钮,让Odoo重新加载模型结构和视图定义。
- 视图继承定位失效:
base.view_partner_form中可能因其他模块修改,导致mobile或email字段位置变化,你的继承无法匹配。建议改用更稳定的xpath定位,比如定位到字段所在的分组:<xpath expr="//group[@name='contact']" position="inside"> <field name="department_name"/> <field name="option_units"/> </xpath> - 字段权限限制:检查模块的security配置,确保当前用户对
res.partner模型拥有读写权限,且字段未设置groups属性限制访问。 - 视图优先级被覆盖:如果有其他模块也继承了
base.view_partner_form且优先级更高,会覆盖你的修改。可以给你的视图添加更高优先级:<field name="priority" eval="10"/> - 缓存未刷新:清除浏览器缓存,或在开发者模式下点击"刷新视图列表",强制Odoo加载最新视图。
- 字段拼写错误:检查models和视图中的字段名是否完全一致(当前代码中是一致的,但注意Selection选项里的
Romm 4是拼写错误,修正为Room 4即可)。
内容的提问来源于stack exchange,提问作者ayobqorban
相关产品推荐
相关产品推荐

