summaryrefslogtreecommitdiff
path: root/odoo/fields.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@odoo.com>2020-08-21 08:40:47 +0000
committerRaphael Collet <rco@odoo.com>2020-08-21 09:39:27 +0000
commit126ebbc905af9f7eb5a4887cfb57ef7944bec019 (patch)
tree23f0671b7f5ea22b389fc8133cb7daf797e74a33 /odoo/fields.py
parent5dbabad0a168efb19ef4f39aac4464034f5bcb0a (diff)
[IMP] core: error message for computed field left unassigned
Non-stored readonly computed fields must be assigned by compute method. Make the error message more explicit. closes odoo/odoo#56269 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'odoo/fields.py')
-rw-r--r--odoo/fields.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/odoo/fields.py b/odoo/fields.py
index 2838bfbef56..f4e26e7b935 100644
--- a/odoo/fields.py
+++ b/odoo/fields.py
@@ -966,8 +966,8 @@ class Field(MetaField('DummyField', (object,), {})):
try:
value = env.cache.get(record, self)
except CacheMiss:
- if self.readonly:
- raise
+ if self.readonly and not self.store:
+ raise ValueError("Compute method failed to assign %s.%s" % (record, self.name))
# fallback to null value if compute gives nothing
value = self.convert_to_cache(False, record, validate=False)
env.cache.set(record, self, value)