Fixed #14414 -- Improved contenttypes shortcut() view to check that the ContentType has a model_class(). Thanks, subsume

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13994 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2010-10-06 22:55:06 +00:00
parent 40765f1bdd
commit 47cae1a2f6
1 changed files with 2 additions and 0 deletions

View File

@ -8,6 +8,8 @@ def shortcut(request, content_type_id, object_id):
# Look up the object, making sure it's got a get_absolute_url() function. # Look up the object, making sure it's got a get_absolute_url() function.
try: try:
content_type = ContentType.objects.get(pk=content_type_id) content_type = ContentType.objects.get(pk=content_type_id)
if not content_type.model_class():
raise http.Http404("Content type %s object has no associated model" % content_type_id)
obj = content_type.get_object_for_this_type(pk=object_id) obj = content_type.get_object_for_this_type(pk=object_id)
except (ObjectDoesNotExist, ValueError): except (ObjectDoesNotExist, ValueError):
raise http.Http404("Content type %s object %s doesn't exist" % (content_type_id, object_id)) raise http.Http404("Content type %s object %s doesn't exist" % (content_type_id, object_id))