Update all datetime/timezone usage to avoid deprecated functionality.
Review Request #13429 — Created Nov. 22, 2023 and submitted — Latest diff uploaded
Django has deprecated
django.utils.timezone.utc
in favor of
datetime.timezone.utc
. The rest of thedjango.utils.timezone
methods
are still supported. Furthermore,datetime.timezone.utc
cannot be
directly imported, and must be accessed throughdatetime.timezone
.This leaves two possible importable targets named
datetime
(both
datetime
anddatetime.datetime
) and namedtimezone
(datetime.timezone
anddjango.utils.timezone
), all of which are
relevant.In an effort to keep things sane and consistent, the codebase now
imports the top-leveldatetime
(accessing everything as a direct
property access of that) anddjango.utils.timezone
astimezone
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.
All unit tests pass.