如何在Odoo中通过继承修改咨询类型(不修改源文件)
Odoo继承修改CONSULTATION_TYPE选项解决方案
问题原因
你写的代码没有正确使用Odoo的继承机制,直接用_name = "oeh.medical.physician"相当于重新定义整个模型,而非继承修改原模型,所以无法生效。
正确的继承代码
from openerp.osv import osv class OeHealthPhysicianInherit(osv.osv): _inherit = "oeh.medical.physician" # 核心:通过_inherit指定要继承的目标模型 CONSULTATION_TYPE = [ ('new_consultation', 'New consultation'), ('followed_consultation', 'Followed by consultation'), ] OeHealthPhysicianInherit()
关键注意事项
- 选项的键值(元组第一个元素)建议用下划线分隔的标识符格式,避免空格,符合代码规范同时减少潜在问题
- 确保你的模块在
__openerp__.py的depends列表中添加原医疗模块的依赖,示例:'depends': ['base', 'oeh_medical'], - 无需重复父类已定义的
_inherits、_description等属性,除非你需要修改它们
内容的提问来源于stack exchange,提问作者360' sport
相关产品推荐
相关产品推荐

