From 4dec7eded9e58d7cefe54ea32137599cd4d1ea69 Mon Sep 17 00:00:00 2001 From: David Sanders Date: Sun, 22 Oct 2023 18:41:30 +1100 Subject: [5.0.x] Fixed #34921 -- Fixed crash of warning for unbound naive datetimes. Backport of b5311ee23219cfb676e2e67667ecba1e5d363aa0 from main --- tests/timezones/tests.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests') diff --git a/tests/timezones/tests.py b/tests/timezones/tests.py index 433c921cd3..c45f078ef6 100644 --- a/tests/timezones/tests.py +++ b/tests/timezones/tests.py @@ -10,6 +10,7 @@ from django.contrib.auth.models import User from django.core import serializers from django.db import connection from django.db.models import F, Max, Min +from django.db.models.functions import Now from django.http import HttpRequest from django.template import ( Context, @@ -327,6 +328,13 @@ class NewDatabaseTests(TestCase): event = Event.objects.get() self.assertEqual(event.dt, datetime.datetime(2011, 9, 1, tzinfo=EAT)) + @requires_tz_support + def test_filter_unbound_datetime_with_naive_date(self): + dt = datetime.date(2011, 9, 1) + msg = "DateTimeField (unbound) received a naive datetime" + with self.assertWarnsMessage(RuntimeWarning, msg): + Event.objects.annotate(unbound_datetime=Now()).filter(unbound_datetime=dt) + @requires_tz_support def test_naive_datetime_with_microsecond(self): dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060) -- cgit v1.3