From 8f51ba669aba94eea684ea3f3429fd8e39e70679 Mon Sep 17 00:00:00 2001 From: Baptiste Mispelon Date: Sat, 28 Sep 2013 00:40:43 +0200 Subject: Fixed #21186: Fixed regression when using date fields in the admin's list_filter. Thanks to onlygoldi2201 for the report and to ramiro and apollo13 for the reviews. --- django/contrib/admin/filters.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'django') diff --git a/django/contrib/admin/filters.py b/django/contrib/admin/filters.py index 4f04a474dd..9c5fbf7d8c 100644 --- a/django/contrib/admin/filters.py +++ b/django/contrib/admin/filters.py @@ -303,6 +303,11 @@ class DateFieldListFilter(FieldListFilter): else: # field is a models.DateField today = now.date() tomorrow = today + datetime.timedelta(days=1) + if today.month == 12: + next_month = today.replace(year=today.year + 1, month=1, day=1) + else: + next_month = today.replace(month=today.month + 1, day=1) + next_year = today.replace(year=today.year + 1, month=1, day=1) self.lookup_kwarg_since = '%s__gte' % field_path self.lookup_kwarg_until = '%s__lt' % field_path @@ -318,11 +323,11 @@ class DateFieldListFilter(FieldListFilter): }), (_('This month'), { self.lookup_kwarg_since: str(today.replace(day=1)), - self.lookup_kwarg_until: str(tomorrow), + self.lookup_kwarg_until: str(next_month), }), (_('This year'), { self.lookup_kwarg_since: str(today.replace(month=1, day=1)), - self.lookup_kwarg_until: str(tomorrow), + self.lookup_kwarg_until: str(next_year), }), ) super(DateFieldListFilter, self).__init__( -- cgit v1.3