From 0db36c5e136bba3048bebbe1fda8f8c55afdec36 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 18 Jun 2015 04:15:51 +0200 Subject: Import: really prevent from associating not created object to an import --- ishtar_common/data_importer.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'ishtar_common/data_importer.py') diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 33f144d6a..b5fc9b0c6 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -670,7 +670,8 @@ class Importer(object): for k in data['defaults']: setattr(t_obj, k, data['defaults'][k]) t_obj.save() - if self.import_instance and hasattr(t_obj, 'imports'): + if self.import_instance and hasattr(t_obj, 'imports') \ + and created: t_obj.imports.add(self.import_instance) for formater, val in self._post_processing: @@ -834,7 +835,7 @@ class Importer(object): v, created = model.objects.get_or_create( **v) if self.import_instance \ - and hasattr(v, 'imports'): + and hasattr(v, 'imports') and created: v.imports.add(self.import_instance) m2ms.append((attribute, v)) elif hasattr(field_object, 'rel') and field_object.rel and \ @@ -867,7 +868,8 @@ class Importer(object): dct = create_dict.copy() dct['defaults'] = defaults obj, created = cls.objects.get_or_create(**dct) - if self.import_instance and hasattr(obj, 'imports'): + if self.import_instance and hasattr(obj, 'imports') \ + and created: obj.imports.add(self.import_instance) except IntegrityError as e: raise IntegrityError(e.message) -- cgit v1.2.3