summaryrefslogtreecommitdiff
path: root/ishtar_common/data_importer.py
diff options
context:
space:
mode:
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):