Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #19929 -- Improved error when MySQL doesn't have TZ definitions.

Thanks tomas_00 for the report.
  • Loading branch information...
commit 0c82b1dfc48b4870e8fbcfb782ae02cdca821e1f 1 parent cf30469
@aaugustin aaugustin authored
View
4 django/db/models/sql/compiler.py
@@ -1057,6 +1057,10 @@ def results_iter(self):
# Datetimes are artifically returned in UTC on databases that
# don't support time zone. Restore the zone used in the query.
if settings.USE_TZ:
+ if datetime is None:
+ raise ValueError("Database returned an invalid value "
+ "in QuerySet.dates(). Are time zone "
+ "definitions installed?")
datetime = datetime.replace(tzinfo=None)
datetime = timezone.make_aware(datetime, self.query.tzinfo)
yield datetime
View
7 docs/ref/contrib/admin/index.txt
@@ -142,6 +142,13 @@ subclass::
e.g. if all the dates are in one month, it'll show the day-level
drill-down only.
+ .. note::
+
+ ``date_hierarchy`` uses :meth:`QuerySet.datetimes()
+ <django.db.models.query.QuerySet.datetimes>` internally. Please refer
+ to its documentation for some caveats when time zone support is
+ enabled (:setting:`USE_TZ = True <USE_TZ>`).
+
.. attribute:: ModelAdmin.exclude
This attribute, if given, should be a list of field names to exclude from
Please sign in to comment.
Something went wrong with that request. Please try again.