diff options
| author | BrickXu | 2014-12-02 12:52:36 +0800 |
|---|---|---|
| committer | BrickXu | 2014-12-02 12:52:36 +0800 |
| commit | 81870b6e1a7b0c3c149d4bfba0e20924ebf1b187 (patch) | |
| tree | 4acb295a3c941db00b36f54f906d4e4e24e5bcf4 /rest_framework/utils/model_meta.py | |
| parent | 71654967325ff5c587ce37031109152e741786ee (diff) | |
| parent | d1fe61ce94af1e942f8d1026fb84b1909c230779 (diff) | |
| download | django-rest-framework-81870b6e1a7b0c3c149d4bfba0e20924ebf1b187.tar.bz2 | |
Merge pull request #2 from tomchristie/master
Merge upstream
Diffstat (limited to 'rest_framework/utils/model_meta.py')
| -rw-r--r-- | rest_framework/utils/model_meta.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/rest_framework/utils/model_meta.py b/rest_framework/utils/model_meta.py index 82361edf..c98725c6 100644 --- a/rest_framework/utils/model_meta.py +++ b/rest_framework/utils/model_meta.py @@ -6,6 +6,7 @@ relationships and their associated metadata. Usage: `get_field_info(model)` returns a `FieldInfo` instance. """ from collections import namedtuple +from django.core.exceptions import ImproperlyConfigured from django.db import models from django.utils import six from rest_framework.compat import OrderedDict @@ -43,7 +44,11 @@ def _resolve_model(obj): """ if isinstance(obj, six.string_types) and len(obj.split('.')) == 2: app_name, model_name = obj.split('.') - return models.get_model(app_name, model_name) + resolved_model = models.get_model(app_name, model_name) + if resolved_model is None: + msg = "Django did not return a model for {0}.{1}" + raise ImproperlyConfigured(msg.format(app_name, model_name)) + return resolved_model elif inspect.isclass(obj) and issubclass(obj, models.Model): return obj raise ValueError("{0} is not a Django model".format(obj)) |
