Commit 0c82b1df authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

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

Thanks tomas_00 for the report.
parent cf304691
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
+7 −0
Original line number Diff line number Diff line
@@ -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