From 523da5e17596fe86e915c0ef7fbdb99bf179ac59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 9 May 2014 14:35:59 +0200 Subject: [PATCH] Don't set parent_name in One2Many values issue3900 review9311003 --- proteus/__init__.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/proteus/__init__.py b/proteus/__init__.py index cf2aadc14b..2d516cd869 100644 --- a/proteus/__init__.py +++ b/proteus/__init__.py @@ -263,17 +263,21 @@ class One2ManyValueDescriptor(ValueDescriptor): def __get__(self, instance, owner): value = [] value_list = getattr(instance, self.name) + parent_name = self.definition.get('relation_field', '') to_add = [] to_create = [] to_write = [] for record in value_list: if record.id >= 0: - if record._changed: - to_write.extend(([record.id], - record._get_values(fields=record._changed))) + values = record._get_values(fields=record._changed) + values.pop(parent_name, None) + if record._changed and values: + to_write.extend(([record.id], values)) to_add.append(record.id) else: - to_create.append(record._get_values()) + values = record._get_values() + values.pop(parent_name, None) + to_create.append(values) if to_add: value.append(('add', to_add)) if to_create: