如何在Odoo中重新计算存储的功能字段值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (244)

有时,必须重新计算存储的字段,但不能启动触发器(例如,在SQL注入的情况下)。

如何轻松地重新计算它们?

提问于
用户回答回答于

可以在OdooShell中这样做:

# python odoo.py shell -c openerp-server.conf  -d <database>

>>> model = env['account.invoice']
>>> env.add_todo(model._fields['amount_total'], model.search([]))
>>> model.recompute()
>>> env.cr.commit()

通过OCA模块,Odoo shell 有9,10和8。

用户回答回答于

在V8.0中(在9.0中也应该起作用),可以这样做:

# 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

以上代码可直接用于服务器操作。

扫码关注云+社区

领取腾讯云代金券