How to recompute stored functional field values in Odoo?

前端 未结 4 1286
日久生厌
日久生厌 2020-12-09 21:50

Sometimes stored fields must be recomputed, but triggers can not be launched (e.g. in case of SQL injection).

How to recompute them an easy way?

4条回答
  •  余生分开走
    2020-12-09 22:43

    In v8.0 (should work in 9.0 too) you can do it like that:

    # Recompute amount_total for account.invoice
    
    env.add_todo(model._fields['amount_total'], object)
    model.recompute()
    
    # where
    # object - recordset of instances to recompute field for
    # model - recordset instances model
    

    Above code can be used in server action directly.

提交回复
热议问题