Pre-fetching the contentreference content may have been premature optimization. Switc...
authorStephen Burrows <stephen.r.burrows@gmail.com>
Mon, 27 Jun 2011 18:38:52 +0000 (14:38 -0400)
committerStephen Burrows <stephen.r.burrows@gmail.com>
Mon, 27 Jun 2011 18:38:52 +0000 (14:38 -0400)
philo/templatetags/containers.py

index 5a2d158..fdcd82c 100644 (file)
@@ -29,17 +29,7 @@ class ContainerContext(object):
        def get_references(self):
                if not hasattr(self, '_references'):
                        references = self.page.contentreferences.all()
-                       self._references = {}
-                       contents = {}
-                       for c in references:
-                               ct = ContentType.objects.get_for_id(c.content_type_id)
-                               self._references[(c.name, ct)] = c
-                               contents.setdefault(ct, {})[c.content_id] = c
-                       
-                       for ct in contents:
-                               objs = ct.model_class().objects.filter(pk__in=contents[ct])
-                               for obj in objs:
-                                       contents[ct][obj.pk].content = obj
+                       self._references = dict((((c.name, ContentType.objects.get_for_id(c.content_type_id)), c) for c in references))
                return self._references