Django

Code

Changeset 3633

Show
Ignore:
Timestamp:
08/21/06 12:40:54 (2 years ago)
Author:
adrian
Message:

Fixed #2471 -- Got date-based generic views working with SQLite DateFields?. Thanks for the patch, Steven Armstrong

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/views/generic/date_based.py

    r3457 r3633  
    22from django.core.exceptions import ObjectDoesNotExist 
    33from django.core.xheaders import populate_xheaders 
     4from django.db.models.fields import DateTimeField 
    45from django.http import Http404, HttpResponse 
    56import datetime, time 
     
    236237    now = datetime.datetime.now() 
    237238 
    238     lookup_kwargs = { 
    239         '%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max)), 
    240     } 
     239    if isinstance(model._meta.get_field(date_field), DateTimeField): 
     240        lookup_kwargs = {'%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max))} 
     241    else: 
     242        lookup_kwargs = {date_field: date} 
    241243 
    242244    # Only bother to check current date if the date isn't in the past and future objects aren't requested. 
     
    305307    now = datetime.datetime.now() 
    306308 
    307     lookup_kwargs = { 
    308         '%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max)), 
    309     } 
     309    if isinstance(model._meta.get_field(date_field), DateTimeField): 
     310        lookup_kwargs = {'%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max))} 
     311    else: 
     312        lookup_kwargs = {date_field: date} 
    310313 
    311314    # Only bother to check current date if the date isn't in the past and future objects aren't requested.