diff options
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r-- | ishtar_common/data_importer.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index e96b7ef13..1e59b574f 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -440,7 +440,7 @@ class StrToBoolean(Formater, ChoiceChecker): for missing in self.missings: try: q = {'target':self.db_target, 'key':missing} - models.TargetKey.objects.create(**q) + TargetKey.objects.create(**q) except IntegrityError: pass self.new_keys[value] = unicode(self.dct[value]) @@ -837,7 +837,10 @@ class Importer(object): cls._meta.get_field_by_name(attribute) if m2m: val = data.pop(attribute) - model = field_object.rel.to + if hasattr(field_object, 'rel'): + model = field_object.rel.to + elif hasattr(field_object, 'to'): + model = field_object.to if val.__class__ == model: m2ms.append((attribute, val)) elif val.__class__ != model and type(val) == dict: @@ -914,7 +917,7 @@ class Importer(object): try: dct = create_dict.copy() dct['defaults'] = defaults - obj, created = cls.objects.get_or_create(**create_dict) + obj, created = cls.objects.get_or_create(**dct) if self.import_instance and hasattr(obj, 'imports'): obj.imports.add(self.import_instance) except IntegrityError as e: |