mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-09 07:54:44 +00:00
resolve_model_string now raises LookupError
Django 1.7 raises a `LookupError` when looking for a model that does not exist. This brings the code in to line with Django. The `LookupError` from Django is allowed to propagate in 1.7, and a `LookupError` is now raised instead of a `NameError` in 1.6. All code using `resolve_model_string` has been changed to catch the new errors.
This commit is contained in:
parent
7921abe924
commit
b8b79cd151
3 changed files with 5 additions and 5 deletions
|
|
@ -485,7 +485,7 @@ class BasePageChooserPanel(BaseChooserPanel):
|
|||
if cls.page_type:
|
||||
try:
|
||||
model = resolve_model_string(cls.page_type)
|
||||
except NameError:
|
||||
except LookupError:
|
||||
raise ImproperlyConfigured("{0}.page_type must be of the form 'app_label.model_name', given {1!r}".format(
|
||||
cls.__name__, cls.page_type))
|
||||
except ValueError:
|
||||
|
|
|
|||
|
|
@ -517,7 +517,7 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed
|
|||
try:
|
||||
models = [resolve_model_string(model_string, cls._meta.app_label)
|
||||
for model_string in subpage_types]
|
||||
except NameError as err:
|
||||
except LookupError as err:
|
||||
raise ImproperlyConfigured("{0}.subpage_types must be a list of 'app_label.model_name' strings, given {1!r}".format(
|
||||
cls.__name__, err.args[1]))
|
||||
res = list(map(ContentType.objects.get_for_model, models))
|
||||
|
|
@ -541,7 +541,7 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed
|
|||
try:
|
||||
models = [resolve_model_string(model_string, cls._meta.app_label)
|
||||
for model_string in parent_page_types]
|
||||
except NameError as err:
|
||||
except LookupError as err:
|
||||
raise ImproperlyConfigured("{0}.parent_page_types must be a list of 'app_label.model_name' strings, given {1!r}".format(
|
||||
cls.__name__, err.args[1]))
|
||||
res = list(map(ContentType.objects.get_for_model, models))
|
||||
|
|
|
|||
|
|
@ -28,11 +28,11 @@ def resolve_model_string(model_string, default_app=None):
|
|||
|
||||
model = get_model(app_label, model_name)
|
||||
if not model:
|
||||
raise NameError("Can not resolve {0!r} in to a model".format(model_string), model_string)
|
||||
raise LookupError("Can not resolve {0!r} in to a model".format(model_string), model_string)
|
||||
return model
|
||||
|
||||
elif model_string is not None and issubclass(model_string, Model):
|
||||
return model
|
||||
|
||||
else:
|
||||
raise NameError("Can not resolve {0!r} in to a model".format(model_string), model_string)
|
||||
raise LookupError("Can not resolve {0!r} in to a model".format(model_string), model_string)
|
||||
|
|
|
|||
Loading…
Reference in a new issue