Author: floguy
Date: Sun Sep 21 00:58:08 2008
New Revision: 24

Modified:
    trunk/things/options.py

Log:
Ensured that the QuerySet doesn't get evaluated on server load.

Modified: trunk/things/options.py
==============================================================================
--- trunk/things/options.py     (original)
+++ trunk/things/options.py     Sun Sep 21 00:58:08 2008
@@ -31,16 +31,15 @@
      template_dir = 'things'
      search = []

-    def __init__(self, qs):
-        self.qs = qs
+    def __init__(self):
          for (name, field) in self.fields.iteritems():
              assert isinstance(field, BaseField) == True
              field.parent = self
              field.field_name = name
          if not self.detail_template_name:
-            self.detail_template_name = '%s_detail.html' %  
self.qs.model._meta.module_name
+            self.detail_template_name = '%s_detail.html' %  
self.opts.module_name
          if not self.list_template_name:
-            self.list_template_name = '%s_list.html' %  
self.qs.model._meta.module_name
+            self.list_template_name = '%s_list.html' %  
self.opts.module_name

      def list_view(self, request, descending=False, field=None,
          template_object_name='objects', template_name=None, **kwargs):
@@ -81,7 +80,7 @@
              template_name = self.detail_template_name
          try:
              obj = self.qs.get(pk=pk)
-        except self.qs.model.DoesNotExist:
+        except self.model.DoesNotExist:
              raise Http404
          list_url = reverse('%s_list' % (self.name_prefix,), kwargs={
              'url_prefix': self.url_prefix,
@@ -99,8 +98,8 @@
          self.name_prefix = name_prefix # Is this robust enough? Needs  
testing.
          self.url_prefix = url_prefix
          if self.url_prefix is None:
-            self.url_prefix = "%s/%s/" % (self.qs.model._meta.app_label,
-                self.qs.model._meta.module_name)
+            self.url_prefix = "%s/%s/" % (self.opts.app_label,
+                self.opts.module_name)
          tmp_urls = [
              url(r'%s(?P<url_prefix>%s)$' % (prefix, self.url_prefix),
                  self.list_view, name='%s_list' % name_prefix),
@@ -132,5 +131,8 @@
      def __init__(self, model):
          self.model = model
          self.opts = model._meta
-        qs = model._default_manager.all()
-        super(ModelThing, self).__init__(qs)
\ No newline at end of file
+        super(ModelThing, self).__init__()
+
+    def _get_qs(self):
+        return model._default_manager.all()
+    qs = property(_get_qs)
\ No newline at end of file

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to