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

Backport of r13994 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14385 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-10-28 12:16:21 +00:00
parent c120794b9d
commit 181f26428a
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))