一、odoo中 页面上字段变化引起其他字段范围变化-onchange
@api.onchange('company_id')
def onchange_parent_id(self):
return {
'domain': {'parent_id': [('company_id', '=', self.company_id.id)]},
}
二、odoo中 mail.message 的使用
使用mail.message,分三步走:
#在表的下面 继承这段话
_inherit = ['mail.thread']
# 在字段里面 加上 track_visibility='onchange'
department_id = fields.Many2one('hr.department', string='Department',track_visibility='onchange')
#在xml中写入这段话
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>
实现效果如下图
三、odoo message_post
tracked_fields = self.env['hr.employee'].fields_get(['company_id','department_id','job_id'])
changes, tracking_value_ids = asset._message_track(tracked_fields, old_values) #old_values修改前的值
if changes:
self.env['hr.employee'].message_post(subject=_('Depreciation board modified'), body=self.name, tracking_value_ids=tracking_value_ids)
tracked_fields监测字段,当字段发生变化时,利用message_post发送消息,效果如下: