diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-01-09 09:03:38 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-01-17 11:49:15 +0100 |
| commit | e6f82438d4e3750e8d299bfd79dac98eebe9f1e0 (patch) | |
| tree | 4ee0cbf2c0be9822416aa3d65105f35a9784fd94 /django/db/backends/sqlite3 | |
| parent | 8d98f99a4ab5de6f2c730399f53eba8bf6bea470 (diff) | |
Refs #32365 -- Removed support for pytz timezones per deprecation timeline.
Diffstat (limited to 'django/db/backends/sqlite3')
| -rw-r--r-- | django/db/backends/sqlite3/_functions.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/django/db/backends/sqlite3/_functions.py b/django/db/backends/sqlite3/_functions.py index b590111ec5..c60549f8af 100644 --- a/django/db/backends/sqlite3/_functions.py +++ b/django/db/backends/sqlite3/_functions.py @@ -26,7 +26,6 @@ from math import ( ) from re import search as re_search -from django.db.backends.base.base import timezone_constructor from django.db.backends.utils import ( split_tzname_delta, typecast_time, @@ -36,6 +35,11 @@ from django.utils import timezone from django.utils.crypto import md5 from django.utils.duration import duration_microseconds +try: + import zoneinfo +except ImportError: + from backports import zoneinfo + def register(connection): create_deterministic_function = functools.partial( @@ -111,14 +115,14 @@ def _sqlite_datetime_parse(dt, tzname=None, conn_tzname=None): except (TypeError, ValueError): return None if conn_tzname: - dt = dt.replace(tzinfo=timezone_constructor(conn_tzname)) + dt = dt.replace(tzinfo=zoneinfo.ZoneInfo(conn_tzname)) if tzname is not None and tzname != conn_tzname: tzname, sign, offset = split_tzname_delta(tzname) if offset: hours, minutes = offset.split(":") offset_delta = timedelta(hours=int(hours), minutes=int(minutes)) dt += offset_delta if sign == "+" else -offset_delta - dt = timezone.localtime(dt, timezone_constructor(tzname)) + dt = timezone.localtime(dt, zoneinfo.ZoneInfo(tzname)) return dt |
