summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorahbk <alexander.holmback@gmail.com>2019-03-07 16:02:18 +0100
committerTim Graham <timograham@gmail.com>2019-03-07 10:02:18 -0500
commitd5276398046ce4a102776a1e67dcac2884d80dfe (patch)
tree99ec65f48c68bc545c666f9787ada81952c5ec5f /django
parent38c3f7ea599d942f95a618aa25cd80395705bfa4 (diff)
Fixed #29754 -- Added is_dst parameter to Trunc database functions.
Diffstat (limited to 'django')
-rw-r--r--django/db/models/functions/datetime.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/django/db/models/functions/datetime.py b/django/db/models/functions/datetime.py
index 177715ecfa..7a582aa404 100644
--- a/django/db/models/functions/datetime.py
+++ b/django/db/models/functions/datetime.py
@@ -170,8 +170,9 @@ class TruncBase(TimezoneMixin, Transform):
kind = None
tzinfo = None
- def __init__(self, expression, output_field=None, tzinfo=None, **extra):
+ def __init__(self, expression, output_field=None, tzinfo=None, is_dst=None, **extra):
self.tzinfo = tzinfo
+ self.is_dst = is_dst
super().__init__(expression, output_field=output_field, **extra)
def as_sql(self, compiler, connection):
@@ -222,7 +223,7 @@ class TruncBase(TimezoneMixin, Transform):
pass
elif value is not None:
value = value.replace(tzinfo=None)
- value = timezone.make_aware(value, self.tzinfo)
+ value = timezone.make_aware(value, self.tzinfo, is_dst=self.is_dst)
elif not connection.features.has_zoneinfo_database:
raise ValueError(
'Database returned an invalid datetime value. Are time '
@@ -240,9 +241,12 @@ class TruncBase(TimezoneMixin, Transform):
class Trunc(TruncBase):
- def __init__(self, expression, kind, output_field=None, tzinfo=None, **extra):
+ def __init__(self, expression, kind, output_field=None, tzinfo=None, is_dst=None, **extra):
self.kind = kind
- super().__init__(expression, output_field=output_field, tzinfo=tzinfo, **extra)
+ super().__init__(
+ expression, output_field=output_field, tzinfo=tzinfo,
+ is_dst=is_dst, **extra
+ )
class TruncYear(TruncBase):