Eliminated unnecessary ContentType queries that used applabel/model-based lookups.
authorStephen Burrows <stephen.r.burrows@gmail.com>
Wed, 22 Jun 2011 14:12:25 +0000 (10:12 -0400)
committerStephen Burrows <stephen.r.burrows@gmail.com>
Wed, 22 Jun 2011 14:12:25 +0000 (10:12 -0400)
philo/contrib/julian/models.py
philo/templatetags/collections.py
philo/templatetags/containers.py
philo/templatetags/embed.py

index e4e78ba..fd0a7c5 100644 (file)
@@ -334,7 +334,7 @@ class CalendarView(FeedView):
        
        def get_events_by_location(self, request, app_label, model, pk, extra_context=None):
                try:
-                       ct = ContentType.objects.get(app_label=app_label, model=model)
+                       ct = ContentType.objects.get_by_natural_key(app_label, model)
                        location = ct.model_class()._default_manager.get(pk=pk)
                except ObjectDoesNotExist:
                        raise Http404
index 414a742..e9db2bd 100644 (file)
@@ -47,7 +47,7 @@ def membersof(parser, token):
        
        try:
                app_label, model = params[3].strip('"').split('.')
-               ct = ContentType.objects.get(app_label=app_label, model=model)
+               ct = ContentType.objects.get_by_natural_key(app_label, model)
        except ValueError:
                raise template.TemplateSyntaxError('"%s" template tag option "with" requires an argument of the form app_label.model (see django.contrib.contenttypes)' % tag)
        except ContentType.DoesNotExist:
index e280e60..bc04b9f 100644 (file)
@@ -87,7 +87,7 @@ def container(parser, token):
                                if option_token == 'references':
                                        try:
                                                app_label, model = remaining_tokens.pop(0).strip('"').split('.')
-                                               references = ContentType.objects.get(app_label=app_label, model=model)
+                                               references = ContentType.objects.get_by_natural_key(app_label, model)
                                        except IndexError:
                                                raise template.TemplateSyntaxError('"%s" template tag option "references" requires an argument specifying a content type' % tag)
                                        except ValueError:
index 9599240..16f8092 100644 (file)
@@ -285,7 +285,7 @@ def parse_content_type(bit, tagname):
        except ValueError:
                raise template.TemplateSyntaxError('"%s" template tag expects the first argument to be of the form app_label.model' % tagname)
        try:
-               ct = ContentType.objects.get(app_label=app_label, model=model)
+               ct = ContentType.objects.get_by_natural_key(app_label, model)
        except ContentType.DoesNotExist:
                raise template.TemplateSyntaxError('"%s" template tag requires an argument of the form app_label.model which refers to an installed content type (see django.contrib.contenttypes)' % tagname)
        return ct