diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-05-07 12:19:11 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-05-07 12:20:03 +0200 |
commit | 6542541b3a8b7eb032a6d8b145c356cf95f13943 (patch) | |
tree | 47ceaecb0d5be660c95e8f97d7186cd2fbe69294 /ishtar_common/data_importer.py | |
parent | 025959b715fc1e088dde189d11ac37e431b35911 (diff) | |
download | Ishtar-6542541b3a8b7eb032a6d8b145c356cf95f13943.tar.bz2 Ishtar-6542541b3a8b7eb032a6d8b145c356cf95f13943.zip |
Import conf: manage match for data__
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r-- | ishtar_common/data_importer.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index b500baa3f..179dfc329 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -373,7 +373,7 @@ class StrChoiceFormater(Formater, ChoiceChecker): q = self.get_db_target_query(user) - for target_key in q.all(): + for target_key in list(q.all()): key = target_key.key if not self.strict: key = slugify(key) @@ -381,10 +381,13 @@ class StrChoiceFormater(Formater, ChoiceChecker): continue v = target_key.value if self.model and v and type(v) in (int, str): - try: - v = self.model.objects.get(txt_idx=v) - except: - v = self.model.objects.get(pk=v) + q = self.model.objects.filter(txt_idx=v) + if not q.count(): + q = self.model.objects.filter(pk=v) + if not q.count(): + target_key.delete() + continue + v = q.all()[0] self.equiv_dict[key] = v def prepare(self, value): |