diff options
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r-- | ishtar_common/models_imports.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 2dec39c84..9aae1d52d 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -238,9 +238,18 @@ def get_associated_model(parent_model, keys): OBJECT_CLS = import_class(parent_model) else: OBJECT_CLS = parent_model + fields = get_model_fields(OBJECT_CLS) for idx, item in enumerate(keys): if not idx: - field = get_model_fields(OBJECT_CLS)[item] + if item not in fields: + raise ImporterError( + unicode( + _(u"Importer configuration error: " + u"\"{}\" is not available for \"{}\"." + u" Check your default and column " + u"configuration")).format( + item, OBJECT_CLS.__name__)) + field = fields[item] if hasattr(field, 'rel') and hasattr(field.rel, 'to'): model = field.rel.to if type(field) == ModelBase: @@ -390,7 +399,7 @@ class ImporterColumn(models.Model): return u', '.join([target.target for target in self.targets.all()]) def duplicate_fields_lbl(self): - return u', '.join([dp.field_name + return u', '.join([dp.field_name or u"" for dp in self.duplicate_fields.all()]) @@ -1058,8 +1067,8 @@ class Import(models.Model): put_session_message( session_key, unicode( - _(u"Modification check {} added to the queue")).format( - self.name), + _(u"Modification check {} added to the queue") + ).format(self.name), "info") self.state = 'HQ' self.end_date = datetime.datetime.now() |