OpenERP:多模块覆盖 onchange 功能
OpenERP : Multiple module overriding onchange function
我需要重写 sale.order 中存在的 onchange_partner_id
函数,但我正在处理一个已经有一个重写此函数的模块的系统。
我尝试用类似的代码编写自己的 onchange_partner_id
:
def onchange_partner_id(self, cr, uid, ids, part):
res = super(sale_order, self).onchange_partner_id(cr, uid, ids, part)
// doing some stuff and adding it to res['value']['myfield']
return res
但是我的函数没有被 OpenERP 读取。
所以我的问题是,是否可以让多个函数覆盖同一个函数,如果可能的话我该如何进行?
提前致谢
是的,您可以重写此方法,为此您需要定义新的 class,其中继承 sale.order
并定义您的方法。
你的方法肯定会被调用。
class sale_order(osv.osv):
_inherit = 'sale.order'
def onchange_partner_id(self, cr, uid, ids, part, context=None):
res = super(sale_order, self).onchange_partner_id(cr, uid, ids, part,context=context)
// doing some stuff and adding it to res['value']['myfield']
return res
我需要重写 sale.order 中存在的 onchange_partner_id
函数,但我正在处理一个已经有一个重写此函数的模块的系统。
我尝试用类似的代码编写自己的 onchange_partner_id
:
def onchange_partner_id(self, cr, uid, ids, part):
res = super(sale_order, self).onchange_partner_id(cr, uid, ids, part)
// doing some stuff and adding it to res['value']['myfield']
return res
但是我的函数没有被 OpenERP 读取。 所以我的问题是,是否可以让多个函数覆盖同一个函数,如果可能的话我该如何进行? 提前致谢
是的,您可以重写此方法,为此您需要定义新的 class,其中继承 sale.order
并定义您的方法。
你的方法肯定会被调用。
class sale_order(osv.osv):
_inherit = 'sale.order'
def onchange_partner_id(self, cr, uid, ids, part, context=None):
res = super(sale_order, self).onchange_partner_id(cr, uid, ids, part,context=context)
// doing some stuff and adding it to res['value']['myfield']
return res