【问题标题】:Openerp TypeError: write() got multiple values for keyword argument 'context'Openerp TypeError:write()为关键字参数'context'获得了多个值
【发布时间】:2016-10-21 11:11:29
【问题描述】:

我有这个代码。单击保存按钮时出现此错误。请帮助解决此问题。

TypeError: write() 为关键字参数 'context' 获取了多个值

class crm_case_stage(osv.osv):
    _inherit="crm.case.stage"

    _columns = {
                 'name':fields.char('Stage Name'),
                 'email_template_ids':fields.many2many('email.template','email_tempate_rel','template_id'), #Integrate email templates with stage ids
                 'template_count' : fields.integer('Mail Template Count'),
                }

    def write(self, cr, uid, ids, context=None):
        cur_obj=self.browse(cr, uid, ids, context=context)
        self.write(cr, uid, ids,{'template_count':len(cur_obj.email_template_ids.ids)},context=context)

【问题讨论】:

    标签: openerp typeerror odoo-8


    【解决方案1】:

    如果您使用的是 Odoo V8+,请尝试使用新的 API:

    @api.multi
    def write(self, vals):
        res = super(crm_case_stage, self).write(vals)
        for stage in self:
            stage.template_count = len(stage.email_template_ids)
        return res
    

    或在旧 API 中:

    def write(self, cr, uid, ids, vals, context=None):
        res = True
        for stage in self.browse(cr, uid, ids, context):
            vals['template_count'] = len(stage.email_template_ids)
            res &= super(crm_case_stage, self).write(cr, uid, ids, vals, context)
        return res
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-12
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 2013-08-04
      • 2016-06-24
      • 2015-05-18
      • 1970-01-01
      相关资源
      最近更新 更多