我想在保存(添加或更新)产品时运行脚本。
根据对this thread的回答的建议,我创建并安装了一个模块并尝试覆盖product.product的save方法,如下所示:
# -*- coding: utf-8 -*-
from openerp.osv import osv
class lcd_update(osv.osv):
_inherit = 'product.product'
def save(self, **args):
self.log()
value = super(lcd_update, self).save(self, **args)
return value
def log():
f = open('log.txt', 'w')
f.write('test\n')
f.close()
说实话,我不知道lcd_update
在这里是否正确。我从文档中了解到了这一点。
这段代码有什么问题?它没有做任何事情。
答案 0 :(得分:1)
尝试关注并在返回语句之前添加自定义代码或在某处捕获super的结果并在此之后添加代码并返回更改的结果,不要忘记从方法返回。
from openerp.osv import osv
class lcd_update(osv.osv):
_inherit = 'product.product'
def create(self, cr, uid, vals, context=None):
return super(lcd_update,self).create(cr, uid, vals, context=context)
def write(self, cr, uid, ids, vals, context=None):
return super(lcd_update,self).write(cr, uid, ids, vals, context=context)
我希望这会对你有所帮助。