每当出售某些产品时,我都会尝试自动创建合同。我在产品中添加了一个字段,指向一个模板合同。
我知道@api.depends,但这依赖于创建一个field.function。我不需要字段,但仍希望调用我的函数。我怎样才能做到这一点?
您需要覆盖产品的 write 方法,并且在内部您可以像这样调用您的函数,
def write(self, cr, uid, ids, vals, context=None):
# add your custom code here
return super(class_name,self).write(cr, uid, ids, vals, context=context)
您需要在 vals 中检查您的字段,如果该字段的值已更改,您的字段(我认为 state 字段)将可用,检查如下。
if vals.get('state',False):
## call your function
请记住,您只会获得更新的 vals 中的那些字段。
希望这可以帮助。