summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-06 10:47:56 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-24 12:06:09 +0200
commitfcc1858d3e611c841d0aef8c970e2c1b56074b50 (patch)
treecbe3aade9f6d1fb7d97a678cf7d9526781fbdbc8
parentd13b19fb346b50b60f546c955f8ea8e9f552b726 (diff)
downloadIshtar-fcc1858d3e611c841d0aef8c970e2c1b56074b50.tar.bz2
Ishtar-fcc1858d3e611c841d0aef8c970e2c1b56074b50.zip
Importer: do not crash on bad default configuration
-rw-r--r--ishtar_common/models_imports.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index b52219c11..d999f61d2 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: