2017-06-03 53 views
1

在我創建的模型中,我實現了寫入方法來更新另一個模型字段,所以我想對每個記錄創建執行此操作,但僅適用於odoo invoque方法更新記錄時。Odoo:只有在更新模型時才寫入方法

在這裏它是從模型

class formulaire_evaluation(models.Model): 
    _name = 'pncevaluation.fe' 
    _description = u"Formulaire d\'évaluation" 
    name = fields.Char(u"Intitulé du formulaire") 
    contributeur = fields.Many2one('pncevaluation.contributeur',string="Contributeur") 
    date = fields.Date(u"Date") 


    @api.multi 
    def write(self, vals): 
     rec = super(formulaire_evaluation, self).write(vals) 
     #my_custom_code 
     return rec 

回答

2

在記錄創建時的摘錄,Odoo調用ORM 創建()方法。所以在你的情況下,我們需要重寫create()方法。

例如:

@api.model 
def create(self, vals): 
    res = super(formulaire_evaluation, self).create(vals) 
    #### your logic to update another model 
    return res 

詳情Odoo's ORM methods

注:

如果你想只在記錄創建做這個手術,然後用去創建()方法和刪除write()方法。否則請同時使用兩種方法create()write()

+0

已經完成了,謝謝 –

相關問題