Django has deprecated django.utils.timezone.utc
in favor of
datetime.timezone.utc
. The rest of the django.utils.timezone
methods
are still supported. Furthermore, datetime.timezone.utc
cannot be
directly imported, and must be accessed through datetime.timezone
.
This leaves two possible importable targets named datetime
(both
datetime
and datetime.datetime
) and named timezone
(datetime.timezone
and django.utils.timezone
), all of which are
relevant.
In an effort to keep things sane and consistent, the codebase now
imports the top-level datetime
(accessing everything as a direct
property access of that) and django.utils.timezone
as timezone
in
all affected modules. We may opt to go this route with all new Django
code going forward.
With this change, all datetime-related warnings in unit tests have been
removed.