2017-06-03 6 views
1

私が作成したモデルの中に、別のモデルフィールドを更新するwriteメソッドを実装したので、この操作をすべてのレコード作成で実行したいが、レコードを更新するとき。Odoo:モデルの更新時にwriteメソッドのみが呼び出される

ここでは、レコードの作成時にモデル

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

既に完了しました、ありがとうございます –

関連する問題