turn off prefetching when reding values

pull/2268/head
Holger Brunn 2015-11-26 14:30:12 +01:00 committed by BT-vgabor
parent bc566b6644
commit c5ff04839b
1 changed files with 8 additions and 5 deletions

View File

@ -214,8 +214,8 @@ class AuditlogRule(models.Model):
rule_model = self.env['auditlog.rule'] rule_model = self.env['auditlog.rule']
new_record = create.origin(self, vals, **kwargs) new_record = create.origin(self, vals, **kwargs)
new_values = dict( new_values = dict(
(d['id'], d) for d in new_record.sudo().read( (d['id'], d) for d in new_record.sudo()
list(self._fields))) .with_context(prefetch_fields=False).read(list(self._fields)))
rule_model.sudo().create_logs( rule_model.sudo().create_logs(
self.env.uid, self._name, new_record.ids, self.env.uid, self._name, new_record.ids,
'create', None, new_values) 'create', None, new_values)
@ -272,10 +272,12 @@ class AuditlogRule(models.Model):
self = self.with_context(auditlog_disabled=True) self = self.with_context(auditlog_disabled=True)
rule_model = self.env['auditlog.rule'] rule_model = self.env['auditlog.rule']
old_values = dict( old_values = dict(
(d['id'], d) for d in self.sudo().read(list(self._fields))) (d['id'], d) for d in self.sudo()
.with_context(prefetch_fields=False).read(list(self._fields)))
result = write.origin(self, vals, **kwargs) result = write.origin(self, vals, **kwargs)
new_values = dict( new_values = dict(
(d['id'], d) for d in self.sudo().read(list(self._fields))) (d['id'], d) for d in self.sudo()
.with_context(prefetch_fields=False).read(list(self._fields)))
rule_model.sudo().create_logs( rule_model.sudo().create_logs(
self.env.uid, self._name, self.ids, self.env.uid, self._name, self.ids,
'write', old_values, new_values) 'write', old_values, new_values)
@ -289,7 +291,8 @@ class AuditlogRule(models.Model):
self = self.with_context(auditlog_disabled=True) self = self.with_context(auditlog_disabled=True)
rule_model = self.env['auditlog.rule'] rule_model = self.env['auditlog.rule']
old_values = dict( old_values = dict(
(d['id'], d) for d in self.sudo().read(list(self._fields))) (d['id'], d) for d in self.sudo()
.with_context(prefetch_fields=False).read(list(self._fields)))
rule_model.sudo().create_logs( rule_model.sudo().create_logs(
self.env.uid, self._name, self.ids, 'unlink', old_values) self.env.uid, self._name, self.ids, 'unlink', old_values)
return unlink.origin(self, **kwargs) return unlink.origin(self, **kwargs)