Kaydet (Commit) 0c82b1df authored tarafından Aymeric Augustin's avatar Aymeric Augustin

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

Thanks tomas_00 for the report.
üst cf304691
......@@ -1057,6 +1057,10 @@ class SQLDateTimeCompiler(SQLCompiler):
# 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
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment