summaryrefslogtreecommitdiff
path: root/ishtar_common/data_importer.py
diff options
context:
space:
mode:
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
commiteb0f7d6c72487a9bdaa92f7f80b2231d1d3716f0 (patch)
tree47ceaecb0d5be660c95e8f97d7186cd2fbe69294 /ishtar_common/data_importer.py
parent9d3b66a1ad4cb58def1d76084da58dc0c706cdba (diff)
downloadIshtar-eb0f7d6c72487a9bdaa92f7f80b2231d1d3716f0.tar.bz2
Ishtar-eb0f7d6c72487a9bdaa92f7f80b2231d1d3716f0.zip
Import conf: manage match for data__
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r--ishtar_common/data_importer.py13
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):