diff options
| author | Raphael Collet <rco@odoo.com> | 2020-08-21 08:40:47 +0000 |
|---|---|---|
| committer | Raphael Collet <rco@odoo.com> | 2020-08-21 09:39:27 +0000 |
| commit | 126ebbc905af9f7eb5a4887cfb57ef7944bec019 (patch) | |
| tree | 23f0671b7f5ea22b389fc8133cb7daf797e74a33 /odoo/fields.py | |
| parent | 5dbabad0a168efb19ef4f39aac4464034f5bcb0a (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.py | 4 |
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) |
