From d7e18567762fd33f0be8686cc948e9ea5e900d86 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sun, 16 Nov 2008 08:55:10 +0000 Subject: [1.0.X] Fixed #3501 -- Fixed date filtering in querysets for nullable date fields. Only affects SQLite. Backport of r9466 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9468 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/model_regress/models.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/regressiontests/model_regress/models.py b/tests/regressiontests/model_regress/models.py index 2f2c2facd5..19d38b216c 100644 --- a/tests/regressiontests/model_regress/models.py +++ b/tests/regressiontests/model_regress/models.py @@ -27,7 +27,7 @@ class Movie(models.Model): name = models.CharField(max_length=60) class Party(models.Model): - when = models.DateField() + when = models.DateField(null=True) class Event(models.Model): when = models.DateTimeField() @@ -93,6 +93,16 @@ u'' >>> [p.when for p in Party.objects.filter(when__year='1998')] [datetime.date(1998, 12, 31)] +# Date filtering was failing with NULL date values in SQLite (regression test +# for #3501, amongst other things). +>>> _ = Party.objects.create() +>>> p = Party.objects.filter(when__month=1)[0] +>>> p.when +datetime.date(1999, 1, 1) +>>> l = Party.objects.filter(pk=p.pk).dates("when", "month") +>>> l[0].month == 1 +True + # Check that get_next_by_FIELD and get_previous_by_FIELD don't crash when we # have usecs values stored on the database # -- cgit v1.3