diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-06-11 02:52:49 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-06-11 02:52:49 +0200 |
commit | d48af485af6e58386bbe66ff9992fea71b6adad2 (patch) | |
tree | dbc2532faadca60404735a99d8f9c58b61a16a25 /ishtar_common/data_importer.py | |
parent | 4845280f685896eafd6c4e7794e5123818e92762 (diff) | |
parent | 153f850062bcddcacd325141d845882b438d61b2 (diff) | |
download | Ishtar-d48af485af6e58386bbe66ff9992fea71b6adad2.tar.bz2 Ishtar-d48af485af6e58386bbe66ff9992fea71b6adad2.zip |
Merge branch 'stable'
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: |