From a2a049df06270901e4b925a8f5ccd028afb70c98 Mon Sep 17 00:00:00 2001 From: Youngkwang Yang Date: Wed, 24 Sep 2025 16:05:11 +0900 Subject: [PATCH] Fix Expression test compatibility for Django 6.0+ (#759) * Skip incompatible tests on Django 6.0+ refs: - #635 - #646 - https://code.djangoproject.com/ticket/27222 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * remove skipif * Add changelog --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- auditlog_tests/tests.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/auditlog_tests/tests.py b/auditlog_tests/tests.py index 228ddd7..c96857a 100644 --- a/auditlog_tests/tests.py +++ b/auditlog_tests/tests.py @@ -9,6 +9,7 @@ from unittest.mock import patch import freezegun from dateutil.tz import gettz +from django import VERSION as DJANGO_VERSION from django.apps import apps from django.conf import settings from django.contrib.admin.sites import AdminSite @@ -1091,7 +1092,14 @@ class DateTimeFieldModelTest(TestCase): dtm.naive_dt = Now() self.assertEqual(dtm.naive_dt, Now()) dtm.save() - self.assertEqual(dtm.naive_dt, Now()) + + # Django 6.0+ evaluates expressions during save (django ticket #27222) + if DJANGO_VERSION >= (6, 0, 0): + with self.subTest("After save Django 6.0+"): + self.assertIsInstance(dtm.naive_dt, datetime.datetime) + else: + with self.subTest("After save Django < 6.0"): + self.assertEqual(dtm.naive_dt, Now()) class UnregisterTest(TestCase):