Odoo V12新增字段无法显示问题求助
解决Odoo V12中自定义字段无法在表单视图显示的问题
嗨,我来帮你排查这个问题,你遇到的核心问题是视图定义的类型错误,还有几处语法小问题,咱们一步步来修复:
1. 修正视图的模型类型
你现在用了model="ir.actions.act_window",但这个是用来定义动作窗口(比如菜单打开的窗口)的,而要继承表单视图,必须用model="ir.ui.view",同时name字段是视图的标识名称,不需要res_model。
把你的表单视图代码改成这样:
<record id="production_lot_form_view_inherit" model="ir.ui.view"> <field name="name">stock.production.lot.form.inherit.my</field> <field name="model">stock.production.lot</field> <field name="inherit_id" ref="stock.view_production_lot_form" /> <field name="priority">10</field> <field name="arch" type="xml"> <xpath expr="//group/field[@name='product_id']" position="after"> <field name="newfield"/> </xpath> </field> </record>
这里注意:
- 把
model改成ir.ui.view,这才是视图继承对应的模型 - 修正了
newfield标签的闭合(你之前少了/>里的右括号,这会导致XML解析失败) - 给视图ID和name起了更清晰的名字,避免和系统视图冲突
2. 修复模型继承的语法错误
你模型里的继承写法用了三个单引号:_inherit = '''stock.production.lot''',虽然Python语法允许,但Odoo开发里通常用标准的单/双引号写法,改成这样更稳妥:
class ProductionLot(models.Model): _inherit = 'stock.production.lot' newfield = fields.Char(string='New field', store=False)
3. 重新安装模块验证
做完上面的修改后,先卸载模块再重新安装(或者直接升级模块),然后打开库存批次的表单视图,就能看到新增的newfield字段了。
额外说明
之前你用ir.ui.view报错,大概率是因为当时XML标签未闭合或者语法错误,现在修正后就不会有问题了。另外你的manifest配置没问题,依赖的stock和product模块已经正确声明。
内容的提问来源于stack exchange,提问作者Sean S
相关产品推荐
相关产品推荐

