summaryrefslogtreecommitdiff
path: root/ishtar_common/models_imports.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r--ishtar_common/models_imports.py17
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()