diff options
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): |