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

After inherit abstract model 'mail.activity.mixin' parent model 'crm.lead' cannot save data

我创建了一个新的class来继承抽象模型'mail.activity.mixin'但是在使用父class之后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)

您已经覆盖了写入值。所以原始值永远不会进入超级调用,那里发生了魔法(写入数据库)。

所以你应该在最后调用 super 之前更新原始值:

vals.update(value)
return super(forcaMailMixin, self).write(vals)