#35683: django.utils.timezone.make_naive can underflow for timezones close to
datetime.min
-----------------------+-----------------------------------------
Reporter: tybug | Type: Bug
Status: new | Component: Uncategorized
Version: 5.1 | Severity: Normal
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------+-----------------------------------------
I'm a contributor over at [https://github.com/HypothesisWorks/hypothesis
Hypothesis].
[https://github.com/HypothesisWorks/hypothesis/pull/4086#issuecomment-2290742590
We found] that saving (or retrieving?) models with aware DateTimeField
values close to datetime.min can error if:
* timezone support is enabled (USE_TZ=True)
* you are using the sqlite database (presumably also any other db backend
without tz aware support, if they exist?)
Explicitly:
{{{
from datetime import datetime, timezone
from zoneinfo import ZoneInfo
from django.utils.timezone import make_naive
dt = datetime.min.replace(tzinfo=ZoneInfo(key='Africa/Addis_Ababa'))
make_naive(dt, timezone.utc) # OverflowError
}}}
where make_naive is called from
[https://github.com/django/django/blob/a57596e443ecb67140e1a9fc0f0e87446b2d0174/django/db/backends/sqlite3/operations.py#L269
here]. I would guess the overflow case for datetime.max is symmetric and
similar as well.
I have half an expectation that this will be a wontfix, but I figured I'd
give a heads up here. I hope you'll forgive the lack of a django
reproducer - I live in testing land and don't have a local django
environment handy :). Hopefully the cause is clear and reproducible with
vanilla django models.
--
Ticket URL: <https://code.djangoproject.com/ticket/35683>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/0107019157e3684a-bba127f9-417b-46d1-ab5b-1400f4c5b684-000000%40eu-central-1.amazonses.com.