diff options
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 |
commit | f2f6b7c1c491a1a740d33cda3b0613f9d631c137 (patch) | |
tree | cbe3aade9f6d1fb7d97a678cf7d9526781fbdbc8 /ishtar_common/models_imports.py | |
parent | a9216922671b817682f9613b2bded37a5e883c1f (diff) | |
download | Ishtar-f2f6b7c1c491a1a740d33cda3b0613f9d631c137.tar.bz2 Ishtar-f2f6b7c1c491a1a740d33cda3b0613f9d631c137.zip |
Importer: do not crash on bad default configuration
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r-- | ishtar_common/models_imports.py | 11 |
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: |