继承抽象模型'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)
我创建了一个新的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)