summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2015-02-11 10:49:17 +0100
committerRaphael Collet <rco@openerp.com>2015-02-11 10:49:17 +0100
commitac0eec6c994396708a66546cc9f6c94e3f26f9df (patch)
treeab96609dbd2dbfc6841255ac65d9bdf554f27b1e
parent601954f5d426cb8e1de831884af43ed431098998 (diff)
[IMP] models: in recompute(), only save stored fields to database
-rw-r--r--openerp/models.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/openerp/models.py b/openerp/models.py
index e57264ccae4..09df8bff56b 100644
--- a/openerp/models.py
+++ b/openerp/models.py
@@ -5623,10 +5623,11 @@ class BaseModel(object):
while self.env.has_todo():
field, recs = self.env.get_todo()
# evaluate the fields to recompute, and save them to database
+ names = [f.name for f in field.computed_fields if f.store]
for rec, rec1 in zip(recs, recs.with_context(recompute=False)):
try:
values = rec._convert_to_write({
- f.name: rec[f.name] for f in field.computed_fields
+ name: rec[name] for name in names
})
rec1._write(values)
except MissingError: