Group call to on_change_with for later fields

Closes #12218
This commit is contained in:
Cédric Krier
2023-04-14 17:04:01 +02:00
parent ff17338ea5
commit 6092ca035c
4 changed files with 49 additions and 23 deletions
+8 -6
View File
@@ -1176,13 +1176,15 @@ class Model(object):
changes = getattr(self._proxy, 'on_change_with')(values,
list(to_change), context)
self._set_on_change(changes)
for field in later:
on_change_with = self._fields[field]['on_change_with']
values = self._on_change_args(on_change_with)
if later:
values = {}
for field in later:
on_change_with = self._fields[field]['on_change_with']
values.update(self._on_change_args(on_change_with))
context = self._context
result = getattr(self._proxy, 'on_change_with_%s' % field)(values,
context)
self._on_change_set(field, result)
changes = getattr(self._proxy, 'on_change_with')(
values, list(later), context)
self._set_on_change(changes)
if self._parent:
self._parent._changed.add(self._parent_field_name)