继承抽象模型'mail.activity.mixin'父模型'crm.lead'后无法保存数据

问题描述 投票:0回答:1

我创建了一个新类来继承抽象模型'mail.activity.mixin',但是在使用父类后crm.lead无法存储数据。我做不到谁能告诉我我该怎么做。这是我的代码

class forcaMailMixin(models.AbstractModel):
    _inherit = 'mail.activity.mixin'

    @api.multi
    def write(self, vals):
        check_undone = self.env['mail.activity'].sudo().search(
                        [('res_model', '=', self._name), ('res_id', 'in', self.ids), ('status', '!=', 1)] ,order = 'create_date desc', limit=1)
        if check_undone :
            value = {
                'activity_date_deadline' : check_undone.date_deadline,
                'activity_summary' : check_undone.summary
            }
        else :
             value = {
                'activity_date_deadline' : "",
                'activity_summary' : ""
            }
        return super(forcaMailMixin, self).write(value)
python odoo odoo-11
1个回答
0
投票

您已覆盖写入值。因此,原始值永远不会进入发生魔术的超级调用(写入db)。

因此,您应该在超级调用结束前立即更新原始值:

vals.update(value)
return super(forcaMailMixin, self).write(vals)
© www.soinside.com 2019 - 2024. All rights reserved.