odoo(openerp) - BaseModel的create_instance方法

本文深入解析了Odoo中BaseModel的create_instance方法,包括其在模型对象初始化和继承过程中的作用。该方法用于创建模型实例,处理多继承,并确保属性和方法的正确继承。在多继承时,同名方法和属性以首次出现的父类为准。最后,通过__new__和__init__完成对象创建与初始化。
摘要由CSDN通过智能技术生成

BaseModel的create_instance方法

注意:以下代码基于odoo四月份的trunk版,新版本中create_instance方法已经被_build_model方法替换,但是原理基本一样。

 

如果没有耐心看原理的,可以直接看结论:

1、  本文主要分析odoo模型对象初始化过程和继承过程。

2、  odoo中对象不是直接创建,而是调用类函数create_instance创建,并且由于在__new__方法中返回的是None,所以即使我们使用小括号创建对象也不会返回新对象。

3、  odoo可以多继承,当”_inherit”字段为列表时,就使用了odoo的对象多继承,如果是字符串,则只有一个父对象,但是并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值