Commit 414bc24e authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

Fixed #1754, #2211, #2192 -- allow date filtering comparisons to use strings as

well as date objects. Fixed a couple of admin crashes as well.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@3223 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent d6c95e93
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -411,7 +411,7 @@ class DateField(Field):
    def get_db_prep_lookup(self, lookup_type, value):
        if lookup_type == 'range':
            value = [str(v) for v in value]
        elif lookup_type in ('exact', 'gt', 'gte', 'lt', 'lte', 'ne'):
        elif lookup_type in ('exact', 'gt', 'gte', 'lt', 'lte', 'ne') and hasattr(value, 'strftime'):
            value = value.strftime('%Y-%m-%d')
        else:
            value = str(value)
+4 −0
Original line number Diff line number Diff line
@@ -58,6 +58,10 @@ Article 4
>>> Article.objects.filter(headline__startswith='Blah blah').count()
0L

# Date and date/time lookups can also be done with strings.
>>> Article.objects.filter(pub_date__exact='2005-07-27 00:00:00').count()
3L

# in_bulk() takes a list of IDs and returns a dictionary mapping IDs
# to objects.
>>> Article.objects.in_bulk([1, 2])