Reviewers: ,


Please review this at http://codereview.tryton.org/384001/

Affected files:
  M trytond/model/modelstorage.py


Index: trytond/model/modelstorage.py
===================================================================

--- a/trytond/model/modelstorage.py
+++ b/trytond/model/modelstorage.py
@@ -72,9 +72,21 @@
         for field in values:
             if field in self._columns:
                 model = self._name
+                field_obj = self._columns[field]
             else:
                 model = self._inherit_fields[field][0]
+                field_obj = self._inherit_fields[field][2]
             fields_by_model.setdefault(model, []).append(field)
+            if field_obj._type in ('one2many', 'many2many'):
+                related_fields = set()
+                related_model = field_obj.model_name
+                for action in values[field]:
+                    if action[0] == 'create':
+                        related_fields.update(action[1])
+                    elif action[0] == 'write':
+                        related_fields.update(action[2])
+                fields_by_model.setdefault(related_model,
+                    []).extend(list(related_fields))
         return fields_by_model

     def create(self, values):



--
[email protected] mailing list

Reply via email to