odoo 二次開發小記-----不定時更新


一、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發送消息,效果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM