Author: adrian
Date: 2006-08-21 12:40:54 -0500 (Mon, 21 Aug 2006)
New Revision: 3633

Modified:
   django/trunk/django/views/generic/date_based.py
Log:
Fixed #2471 -- Got date-based generic views working with SQLite DateFields. 
Thanks for the patch, Steven Armstrong

Modified: django/trunk/django/views/generic/date_based.py
===================================================================
--- django/trunk/django/views/generic/date_based.py     2006-08-21 16:29:37 UTC 
(rev 3632)
+++ django/trunk/django/views/generic/date_based.py     2006-08-21 17:40:54 UTC 
(rev 3633)
@@ -1,6 +1,7 @@
 from django.template import loader, RequestContext
 from django.core.exceptions import ObjectDoesNotExist
 from django.core.xheaders import populate_xheaders
+from django.db.models.fields import DateTimeField
 from django.http import Http404, HttpResponse
 import datetime, time
 
@@ -235,9 +236,10 @@
     model = queryset.model
     now = datetime.datetime.now()
 
-    lookup_kwargs = {
-        '%s__range' % date_field: (datetime.datetime.combine(date, 
datetime.time.min), datetime.datetime.combine(date, datetime.time.max)),
-    }
+    if isinstance(model._meta.get_field(date_field), DateTimeField):
+        lookup_kwargs = {'%s__range' % date_field: 
(datetime.datetime.combine(date, datetime.time.min), 
datetime.datetime.combine(date, datetime.time.max))}
+    else:
+        lookup_kwargs = {date_field: date}
 
     # Only bother to check current date if the date isn't in the past and 
future objects aren't requested.
     if date >= now.date() and not allow_future:
@@ -304,9 +306,10 @@
     model = queryset.model
     now = datetime.datetime.now()
 
-    lookup_kwargs = {
-        '%s__range' % date_field: (datetime.datetime.combine(date, 
datetime.time.min), datetime.datetime.combine(date, datetime.time.max)),
-    }
+    if isinstance(model._meta.get_field(date_field), DateTimeField):
+        lookup_kwargs = {'%s__range' % date_field: 
(datetime.datetime.combine(date, datetime.time.min), 
datetime.datetime.combine(date, datetime.time.max))}
+    else:
+        lookup_kwargs = {date_field: date}
 
     # Only bother to check current date if the date isn't in the past and 
future objects aren't requested.
     if date >= now.date() and not allow_future:


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django 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/django-updates
-~----------~----~----~----~------~----~------~--~---

Reply via email to