如果我对您的理解正确,您将表单上的 amountPay 和 interestType 字段作为输入字段。如果兴趣是一个功能字段,则每次显示表单时(加载时,保存后等),都会显示计算出的功能字段值,但您可以使用 on_change 来做您需要的事情。
将 on_change 添加到 amountPay 和 interestType 字段。这可以调用传入这两个字段的相同 on_change 方法。
在 on_change 方法中,计算正确的利息并像这样返回。
def on_change_interest_fields(self, cr, uid, ids, amountPay, interestType, context):
interest = amountPay * 0.5
return {'value': {'interest': interest,},}
虽然兴趣字段是只读功能字段,但表单中保存的值将更改为值字典中返回的值。然后当用户保存或重新加载表单时,功能字段将被正确计算和显示。此方法的唯一缺点是您复制了功能字段使用的逻辑。为了解决这个问题,将功能字段调用的方法中的逻辑拉到一个单独的方法中,您可以从功能字段方法和 on_change 方法调用。
最后一点小点,记住python不是java。要遵循 PEP008 和 OpenERP 约定,您的字段应该是 amount_pay 和 interest_type。