summaryrefslogtreecommitdiff
path: root/odoo/fields.py
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/fields.py')
-rw-r--r--odoo/fields.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/odoo/fields.py b/odoo/fields.py
index 22f5d1d56c3..7670830d770 100644
--- a/odoo/fields.py
+++ b/odoo/fields.py
@@ -628,7 +628,11 @@ class Field(MetaField('DummyField', (object,), {})):
)
# assign final values to records
for record, value in zip(records, values):
- record[self.name] = value[self.related_field.name]
+ record[self.name] = self._process_related(value[self.related_field.name])
+
+ def _process_related(self, value):
+ """No transformation by default, but allows override."""
+ return value
def _inverse_related(self, records):
""" Inverse the related field ``self`` on ``records``. """
@@ -2002,10 +2006,9 @@ class Image(Binary):
value = image_process(value, size=(self.max_width, self.max_height))
return value
- def _compute_related(self, records):
- super(Image, self)._compute_related(records)
- for record in records:
- record[self.name] = self._image_process(record[self.name])
+ def _process_related(self, value):
+ """Override to resize the related value before saving it on self."""
+ return self._image_process(super()._process_related(value))
class Selection(Field):