From 47a618d45c6e40dd59f4cdd46fd5fc7d11626f6d Mon Sep 17 00:00:00 2001 From: Natalia <124304+nessita@users.noreply.github.com> Date: Wed, 2 Jul 2025 09:15:15 -0300 Subject: [PATCH] Fixed AttributeError for enterContext() on Python < 3.11. On Jenkins with Python 3.10: Traceback (most recent call last): File "[...]/python3.10/tests/composite_pk/test_filter.py", line 559, in setUp self.enterContext(feature_patch) AttributeError: 'CompositePKFilterTupleLookupFallbackTests' object has no attribute 'enterContext' --- tests/composite_pk/test_filter.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/composite_pk/test_filter.py b/tests/composite_pk/test_filter.py index 03037d4d82..b88d02731c 100644 --- a/tests/composite_pk/test_filter.py +++ b/tests/composite_pk/test_filter.py @@ -14,6 +14,7 @@ from django.db.models import ( from django.db.models.functions import Cast from django.db.models.lookups import Exact from django.test import TestCase, skipUnlessDBFeature +from django.utils.version import PY311 from .models import Comment, Tenant, User @@ -556,4 +557,10 @@ class CompositePKFilterTupleLookupFallbackTests(CompositePKFilterTests): feature_patch = patch.object( connection.features, "supports_tuple_lookups", False ) - self.enterContext(feature_patch) + if PY311: + self.enterContext(feature_patch) + else: + # unittest.TestCase.enterContext() was added in Python 3.11. + from django.test.testcases import _enter_context + + _enter_context(feature_patch, self.addCleanup)