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
-~----------~----~----~----~------~----~------~--~---