在Odoo15中为实体字段添加tracking属性,可在字段发生变化时自动发送变更备注; 但是对于实体计算字段,是无法使用此功能的,这时就需要在相关函数中主动发送备注去记录字段变化:
body_template = '''
<ul class="o_Message_trackingValues" style="margin-top: 0px;">
<li>
<div role="group" class="o_Message_trackingValue">
<div class="o_Message_trackingValueFieldName o_Message_trackingValueItem">%s:</div>
<div class="o_Message_trackingValueOldValue o_Message_trackingValueItem">%s</div>
<div title="已修改" role="img" class="o_Message_trackingValueSeparator o_Message_trackingValueItem fa fa-long-arrow-right"></div>
<div class="o_Message_trackingValueNewValue o_Message_trackingValueItem">%s</div>
</div>
</li>
</ul>'''
body = body_template % (字段名称, 旧值, 新值)
self.message_post(body=body) # self可替换为目标实例
注:上面的‘body_template’使用的是odoo自带的备注模板