【问题标题】:Odoo : write method is only invoked when updating a modelOdoo:仅在更新模型时调用 write 方法
【发布时间】:2017-06-03 05:40:13
【问题描述】:

在我创建的模型中,我实现了 write 方法来更新另一个模型字段,所以我想在每次创建记录时调用此操作,但显然 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

【问题讨论】:

    标签: odoo-8 odoo odoo-10 odoo-9 erp


    【解决方案1】:

    在创建记录时,Odoo 调用 ORM create() 方法。所以在你的情况下,我们需要重写 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

    注意:

    如果您只想在创建记录时执行此操作,请使用 create() 方法并删除 write() 方法。否则使用 create()write() 两种方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-05
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多