1
0
mirror of https://github.com/django/django.git synced 2025-10-24 14:16:09 +00:00

Fixed #8510 -- Allow both strings (mostly for the admin) and integers to be

used in "month" and "day" filters on date/datetime fields. Without this commit,
SQLite behaved inconsistently after [8494].


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8526 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick
2008-08-25 03:17:06 +00:00
parent 6d6fb392b4
commit d535edb9da
2 changed files with 20 additions and 5 deletions

View File

@@ -57,18 +57,26 @@ u''
>>> len(a4.article_text)
5000
# #659 regression test
# Regression test for #659
>>> import datetime
>>> p = Party.objects.create(when = datetime.datetime(1999, 12, 31))
>>> p = Party.objects.create(when = datetime.datetime(1998, 12, 31))
>>> p = Party.objects.create(when = datetime.datetime(1999, 1, 1))
>>> [p.when for p in Party.objects.filter(when__month = 2)]
>>> [p.when for p in Party.objects.filter(when__month=2)]
[]
>>> [p.when for p in Party.objects.filter(when__month = 1)]
>>> [p.when for p in Party.objects.filter(when__month=1)]
[datetime.date(1999, 1, 1)]
>>> [p.when for p in Party.objects.filter(when__month = 12)]
>>> [p.when for p in Party.objects.filter(when__month=12)]
[datetime.date(1999, 12, 31), datetime.date(1998, 12, 31)]
>>> [p.when for p in Party.objects.filter(when__year = 1998)]
>>> [p.when for p in Party.objects.filter(when__year=1998)]
[datetime.date(1998, 12, 31)]
# Regression test for #8510
>>> [p.when for p in Party.objects.filter(when__day='31')]
[datetime.date(1999, 12, 31), datetime.date(1998, 12, 31)]
>>> [p.when for p in Party.objects.filter(when__month='12')]
[datetime.date(1999, 12, 31), datetime.date(1998, 12, 31)]
>>> [p.when for p in Party.objects.filter(when__year='1998')]
[datetime.date(1998, 12, 31)]
# Check that get_next_by_FIELD and get_previous_by_FIELD don't crash when we