summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlton Gibson <carlton.gibson@noumenal.es>2021-09-09 12:56:54 +0200
committerCarlton Gibson <carlton.gibson@noumenal.es>2021-09-09 12:56:54 +0200
commit84cb8fd4394c7080c9294974f1c4b0f733c0cdf0 (patch)
treebc6040351e34cb7e4ed826f259721be7c4d9724a
parentdad1f9d3fd950e0627d2eeef6e37a2fa34931ba2 (diff)
downloaddjango-make-zoneinfo-default-timezone-implementation.tar.gz
Release notes and deprecation.txt pending.
-rw-r--r--django/contrib/admin/templatetags/admin_list.py3
-rw-r--r--django/db/models/functions/datetime.py4
-rw-r--r--django/db/models/query.py2
-rw-r--r--django/utils/timezone.py15
-rw-r--r--docs/ref/models/database-functions.txt16
-rw-r--r--docs/ref/models/querysets.txt5
-rw-r--r--tests/db_functions/datetime/test_extract_trunc.py171
-rw-r--r--tests/utils_tests/test_timezone.py2
8 files changed, 129 insertions, 89 deletions
diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py
index b82440e9f8..bc74a2a3d6 100644
--- a/django/contrib/admin/templatetags/admin_list.py
+++ b/django/contrib/admin/templatetags/admin_list.py
@@ -1,5 +1,6 @@
import datetime
+from django.conf import settings
from django.contrib.admin.templatetags.admin_urls import add_preserved_filters
from django.contrib.admin.utils import (
display_for_field, display_for_value, get_fields_from_path,
@@ -328,7 +329,7 @@ def date_hierarchy(cl):
field = get_fields_from_path(cl.model, field_name)[-1]
if isinstance(field, models.DateTimeField):
dates_or_datetimes = 'datetimes'
- qs_kwargs = {'is_dst': True}
+ qs_kwargs = {'is_dst': True} if settings.USE_DEPRECATED_PYTZ else {}
else:
dates_or_datetimes = 'dates'
qs_kwargs = {}
diff --git a/django/db/models/functions/datetime.py b/django/db/models/functions/datetime.py
index 20161bef38..28ca952072 100644
--- a/django/db/models/functions/datetime.py
+++ b/django/db/models/functions/datetime.py
@@ -188,7 +188,7 @@ class TruncBase(TimezoneMixin, Transform):
kind = None
tzinfo = None
- def __init__(self, expression, output_field=None, tzinfo=None, is_dst=None, **extra):
+ def __init__(self, expression, output_field=None, tzinfo=None, is_dst=timezone.IS_DST_PASSED, **extra):
self.tzinfo = tzinfo
self.is_dst = is_dst
super().__init__(expression, output_field=output_field, **extra)
@@ -264,7 +264,7 @@ class TruncBase(TimezoneMixin, Transform):
class Trunc(TruncBase):
- def __init__(self, expression, kind, output_field=None, tzinfo=None, is_dst=None, **extra):
+ def __init__(self, expression, kind, output_field=None, tzinfo=None, is_dst=timezone.IS_DST_PASSED, **extra):
self.kind = kind
super().__init__(
expression, output_field=output_field, tzinfo=tzinfo,
diff --git a/django/db/models/query.py b/django/db/models/query.py
index 88cfc3de38..9721d95e0b 100644
--- a/django/db/models/query.py
+++ b/django/db/models/query.py
@@ -916,7 +916,7 @@ class QuerySet:
'datefield', flat=True
).distinct().filter(plain_field__isnull=False).order_by(('-' if order == 'DESC' else '') + 'datefield')
- def datetimes(self, field_name, kind, order='ASC', tzinfo=None, is_dst=None):
+ def datetimes(self, field_name, kind, order='ASC', tzinfo=None, is_dst=timezone.IS_DST_PASSED):
"""
Return a list of datetime objects representing all available
datetimes for the given field_name, scoped to 'kind'.
diff --git a/django/utils/timezone.py b/django/utils/timezone.py
index 940095868d..0c95416400 100644
--- a/django/utils/timezone.py
+++ b/django/utils/timezone.py
@@ -3,6 +3,7 @@ Timezone-related classes and functions.
"""
import functools
+import warnings
try:
import zoneinfo
@@ -15,6 +16,7 @@ from datetime import datetime, timedelta, timezone, tzinfo
from asgiref.local import Local
from django.conf import settings
+from django.utils.deprecation import RemovedInDjango50Warning
__all__ = [ # noqa: F822 RemovedInDjango50Warning
'utc', 'get_fixed_timezone',
@@ -25,6 +27,9 @@ __all__ = [ # noqa: F822 RemovedInDjango50Warning
'is_aware', 'is_naive', 'make_aware', 'make_naive',
]
+# RemovedInDjango50Warning
+IS_DST_PASSED = object()
+
# RemovedInDjango50Warning
# This code has two purposes.
@@ -248,8 +253,16 @@ def is_naive(value):
return value.utcoffset() is None
-def make_aware(value, timezone=None, is_dst=None):
+def make_aware(value, timezone=None, is_dst=IS_DST_PASSED):
"""Make a naive datetime.datetime in a given time zone aware."""
+ if is_dst is IS_DST_PASSED:
+ is_dst = None
+ else:
+ warnings.warn(
+ 'The is_dst argument to make_aware() is deprecated as it has no '
+ 'effect with zoneinfo time zones.',
+ RemovedInDjango50Warning
+ )
if timezone is None:
timezone = get_current_timezone()
if _is_pytz_zone(timezone):
diff --git a/docs/ref/models/database-functions.txt b/docs/ref/models/database-functions.txt
index 18dfdae976..a2637aec2a 100644
--- a/docs/ref/models/database-functions.txt
+++ b/docs/ref/models/database-functions.txt
@@ -524,6 +524,10 @@ The ``is_dst`` parameter indicates whether or not ``pytz`` should interpret
nonexistent and ambiguous datetimes in daylight saving time. By default (when
``is_dst=None``), ``pytz`` raises an exception for such datetimes.
+.. versionchanged:: 4.0
+
+ The ``is_dst`` parameter is deprecated and will be removed in Django 5.0.
+
Given the datetime ``2015-06-15 14:30:50.000321+00:00``, the built-in ``kind``\s
return:
@@ -607,6 +611,10 @@ Usage example::
.. attribute:: kind = 'quarter'
+.. versionchanged:: 4.0
+
+ The ``is_dst`` parameter is deprecated and will be removed in Django 5.0.
+
These are logically equivalent to ``Trunc('date_field', kind)``. They truncate
all parts of the date up to ``kind`` which allows grouping or filtering dates
with less precision. ``expression`` can have an ``output_field`` of either
@@ -691,6 +699,10 @@ truncate function. It's also registered as a transform on ``DateTimeField`` as
.. attribute:: kind = 'second'
+.. versionchanged:: 4.0
+
+ The ``is_dst`` parameter is deprecated and will be removed in Django 5.0.
+
These are logically equivalent to ``Trunc('datetime_field', kind)``. They
truncate all parts of the date up to ``kind`` and allow grouping or filtering
datetimes with less precision. ``expression`` must have an ``output_field`` of
@@ -740,6 +752,10 @@ Usage example::
.. attribute:: kind = 'second'
+.. versionchanged:: 4.0
+
+ The ``is_dst`` parameter is deprecated and will be removed in Django 5.0.
+
These are logically equivalent to ``Trunc('time_field', kind)``. They truncate
all parts of the time up to ``kind`` which allows grouping or filtering times
with less precision. ``expression`` can have an ``output_field`` of either
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt
index 333c0054c6..44d876227a 100644
--- a/docs/ref/models/querysets.txt
+++ b/docs/ref/models/querysets.txt
@@ -834,6 +834,11 @@ object. If it's ``None``, Django uses the :ref:`current time zone
ambiguous datetimes in daylight saving time. By default (when ``is_dst=None``),
``pytz`` raises an exception for such datetimes.
+.. versionchanged:: 4.0
+
+ The ``is_dst`` parameter is deprecated and will be removed in Django
+ 5.0.
+
.. _database-time-zone-definitions:
.. note::
diff --git a/tests/db_functions/datetime/test_extract_trunc.py b/tests/db_functions/datetime/test_extract_trunc.py
index b40fa267d3..b2c66b9fe5 100644
--- a/tests/db_functions/datetime/test_extract_trunc.py
+++ b/tests/db_functions/datetime/test_extract_trunc.py
@@ -24,9 +24,11 @@ from django.db.models.functions import (
TruncYear,
)
from django.test import (
- TestCase, override_settings, skipIfDBFeature, skipUnlessDBFeature,
+ TestCase, ignore_warnings, override_settings, skipIfDBFeature,
+ skipUnlessDBFeature,
)
from django.utils import timezone
+from django.utils.deprecation import RemovedInDjango50Warning
from ..models import Author, DTModel, Fan
@@ -106,8 +108,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 10)
end_datetime = datetime(2016, 6, 15, 14, 10)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
@@ -143,8 +145,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 10)
end_datetime = datetime(2016, 6, 15, 14, 10)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
@@ -166,8 +168,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 10)
end_datetime = datetime(2016, 6, 15, 14, 10)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
@@ -189,8 +191,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
@@ -288,8 +290,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -327,8 +329,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -347,8 +349,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -367,14 +369,14 @@ class DateFunctionTests(TestCase):
def test_extract_iso_year_func_boundaries(self):
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ end_datetime = timezone.make_aware(end_datetime)
week_52_day_2014 = datetime(2014, 12, 27, 13, 0) # Sunday
week_1_day_2014_2015 = datetime(2014, 12, 31, 13, 0) # Wednesday
week_53_day_2015 = datetime(2015, 12, 31, 13, 0) # Thursday
if settings.USE_TZ:
- week_1_day_2014_2015 = timezone.make_aware(week_1_day_2014_2015, is_dst=False)
- week_52_day_2014 = timezone.make_aware(week_52_day_2014, is_dst=False)
- week_53_day_2015 = timezone.make_aware(week_53_day_2015, is_dst=False)
+ week_1_day_2014_2015 = timezone.make_aware(week_1_day_2014_2015)
+ week_52_day_2014 = timezone.make_aware(week_52_day_2014)
+ week_53_day_2015 = timezone.make_aware(week_53_day_2015)
days = [week_52_day_2014, week_1_day_2014_2015, week_53_day_2015]
obj_1_iso_2014 = self.create_model(week_52_day_2014, end_datetime)
obj_1_iso_2015 = self.create_model(week_1_day_2014_2015, end_datetime)
@@ -405,8 +407,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -425,8 +427,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -445,8 +447,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -466,8 +468,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 8, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -485,13 +487,13 @@ class DateFunctionTests(TestCase):
def test_extract_quarter_func_boundaries(self):
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ end_datetime = timezone.make_aware(end_datetime)
last_quarter_2014 = datetime(2014, 12, 31, 13, 0)
first_quarter_2015 = datetime(2015, 1, 1, 13, 0)
if settings.USE_TZ:
- last_quarter_2014 = timezone.make_aware(last_quarter_2014, is_dst=False)
- first_quarter_2015 = timezone.make_aware(first_quarter_2015, is_dst=False)
+ last_quarter_2014 = timezone.make_aware(last_quarter_2014)
+ first_quarter_2015 = timezone.make_aware(first_quarter_2015)
dates = [last_quarter_2014, first_quarter_2015]
self.create_model(last_quarter_2014, end_datetime)
self.create_model(first_quarter_2015, end_datetime)
@@ -506,15 +508,15 @@ class DateFunctionTests(TestCase):
def test_extract_week_func_boundaries(self):
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ end_datetime = timezone.make_aware(end_datetime)
week_52_day_2014 = datetime(2014, 12, 27, 13, 0) # Sunday
week_1_day_2014_2015 = datetime(2014, 12, 31, 13, 0) # Wednesday
week_53_day_2015 = datetime(2015, 12, 31, 13, 0) # Thursday
if settings.USE_TZ:
- week_1_day_2014_2015 = timezone.make_aware(week_1_day_2014_2015, is_dst=False)
- week_52_day_2014 = timezone.make_aware(week_52_day_2014, is_dst=False)
- week_53_day_2015 = timezone.make_aware(week_53_day_2015, is_dst=False)
+ week_1_day_2014_2015 = timezone.make_aware(week_1_day_2014_2015)
+ week_52_day_2014 = timezone.make_aware(week_52_day_2014)
+ week_53_day_2015 = timezone.make_aware(week_53_day_2015)
days = [week_52_day_2014, week_1_day_2014_2015, week_53_day_2015]
self.create_model(week_53_day_2015, end_datetime)
@@ -533,8 +535,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -559,8 +561,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -594,8 +596,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -614,8 +616,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -634,8 +636,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -654,8 +656,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
@@ -760,8 +762,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), 'year')
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -794,10 +796,10 @@ class DateFunctionTests(TestCase):
last_quarter_2015 = truncate_to(datetime(2015, 12, 31, 14, 10, 50, 123), 'quarter')
first_quarter_2016 = truncate_to(datetime(2016, 1, 1, 14, 10, 50, 123), 'quarter')
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
- last_quarter_2015 = timezone.make_aware(last_quarter_2015, is_dst=False)
- first_quarter_2016 = timezone.make_aware(first_quarter_2016, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
+ last_quarter_2015 = timezone.make_aware(last_quarter_2015)
+ first_quarter_2016 = timezone.make_aware(first_quarter_2016)
self.create_model(start_datetime=start_datetime, end_datetime=end_datetime)
self.create_model(start_datetime=end_datetime, end_datetime=start_datetime)
self.create_model(start_datetime=last_quarter_2015, end_datetime=end_datetime)
@@ -833,8 +835,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), 'month')
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -865,8 +867,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), 'week')
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -889,8 +891,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -917,8 +919,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -945,8 +947,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 26) # 0 microseconds.
end_datetime = datetime(2015, 6, 15, 14, 30, 26, 321)
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.assertIs(
DTModel.objects.filter(
@@ -970,8 +972,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), 'day')
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -994,8 +996,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), 'hour')
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -1026,8 +1028,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), 'minute')
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -1058,8 +1060,8 @@ class DateFunctionTests(TestCase):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), 'second')
if settings.USE_TZ:
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
self.assertQuerysetEqual(
@@ -1093,9 +1095,9 @@ class DateFunctionTests(TestCase):
fan_since_2 = datetime(2015, 2, 3, 15, 0, 0)
fan_since_3 = datetime(2017, 2, 3, 15, 0, 0)
if settings.USE_TZ:
- fan_since_1 = timezone.make_aware(fan_since_1, is_dst=False)
- fan_since_2 = timezone.make_aware(fan_since_2, is_dst=False)
- fan_since_3 = timezone.make_aware(fan_since_3, is_dst=False)
+ fan_since_1 = timezone.make_aware(fan_since_1)
+ fan_since_2 = timezone.make_aware(fan_since_2)
+ fan_since_3 = timezone.make_aware(fan_since_3)
Fan.objects.create(author=author_1, name='Tom', fan_since=fan_since_1)
Fan.objects.create(author=author_1, name='Emma', fan_since=fan_since_2)
Fan.objects.create(author=author_2, name='Isabella', fan_since=fan_since_3)
@@ -1121,9 +1123,9 @@ class DateFunctionTests(TestCase):
datetime_2 = datetime(2001, 3, 5)
datetime_3 = datetime(2002, 1, 3)
if settings.USE_TZ:
- datetime_1 = timezone.make_aware(datetime_1, is_dst=False)
- datetime_2 = timezone.make_aware(datetime_2, is_dst=False)
- datetime_3 = timezone.make_aware(datetime_3, is_dst=False)
+ datetime_1 = timezone.make_aware(datetime_1)
+ datetime_2 = timezone.make_aware(datetime_2)
+ datetime_3 = timezone.make_aware(datetime_3)
obj_1 = self.create_model(datetime_1, datetime_3)
obj_2 = self.create_model(datetime_2, datetime_1)
obj_3 = self.create_model(datetime_3, datetime_2)
@@ -1152,8 +1154,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
def test_extract_func_with_timezone(self):
start_datetime = datetime(2015, 6, 15, 23, 30, 1, 321)
end_datetime = datetime(2015, 6, 16, 13, 11, 27, 123)
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
delta_tzinfo_pos = datetime_timezone(timedelta(hours=5))
delta_tzinfo_neg = datetime_timezone(timedelta(hours=-5, minutes=17))
@@ -1211,8 +1213,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
def test_extract_func_explicit_timezone_priority(self):
start_datetime = datetime(2015, 6, 15, 23, 30, 1, 321)
end_datetime = datetime(2015, 6, 16, 13, 11, 27, 123)
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
for melb in self.get_timezones('Australia/Melbourne'):
@@ -1241,8 +1243,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
def test_trunc_timezone_applied_before_truncation(self):
start_datetime = datetime(2016, 1, 1, 1, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
for melb, pacific in zip(
@@ -1272,6 +1274,7 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
self.assertEqual(model.pacific_time, pacific_start_datetime.time())
@needs_pytx
+ @ignore_warnings(category=RemovedInDjango50Warning)
def test_trunc_ambiguous_and_invalid_times(self):
sao = pytz.timezone('America/Sao_Paulo')
utc = timezone.utc
@@ -1303,8 +1306,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
"""
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
- start_datetime = timezone.make_aware(start_datetime, is_dst=False)
- end_datetime = timezone.make_aware(end_datetime, is_dst=False)
+ start_datetime = timezone.make_aware(start_datetime)
+ end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
diff --git a/tests/utils_tests/test_timezone.py b/tests/utils_tests/test_timezone.py
index 8e9c1bf8da..93dd95bffc 100644
--- a/tests/utils_tests/test_timezone.py
+++ b/tests/utils_tests/test_timezone.py
@@ -222,6 +222,7 @@ class TimezoneTests(SimpleTestCase):
)
@needs_pytx
+ @ignore_warnings(category=RemovedInDjango50Warning)
def test_make_aware_pytz_ambiguous(self):
# 2:30 happens twice, once before DST ends and once after
ambiguous = datetime.datetime(2015, 10, 25, 2, 30)
@@ -250,6 +251,7 @@ class TimezoneTests(SimpleTestCase):
self.assertEqual(dst.utcoffset(), datetime.timedelta(hours=2))
@needs_pytx
+ @ignore_warnings(category=RemovedInDjango50Warning)
def test_make_aware_pytz_non_existent(self):
# 2:30 never happened due to DST
non_existent = datetime.datetime(2015, 3, 29, 2, 30)