summaryrefslogtreecommitdiff
path: root/tests/model_forms/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_forms/tests.py')
-rw-r--r--tests/model_forms/tests.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py
index 4f7fc2c1c0..fd043d3d03 100644
--- a/tests/model_forms/tests.py
+++ b/tests/model_forms/tests.py
@@ -26,7 +26,7 @@ from django.test import SimpleTestCase, TestCase, ignore_warnings, skipUnlessDBF
from django.test.utils import isolate_apps
from django.utils.choices import BlankChoiceIterator
from django.utils.deprecation import RemovedInDjango60Warning
-from django.utils.version import PYPY
+from django.utils.version import PY314, PYPY
from .models import (
Article,
@@ -3048,10 +3048,11 @@ class OtherModelFormTests(TestCase):
return ", ".join(c.name for c in obj.colours.all())
field = ColorModelChoiceField(ColourfulItem.objects.prefetch_related("colours"))
- # CPython calls ModelChoiceField.__len__() when coercing to tuple. PyPy
- # doesn't call __len__() and so .count() isn't called on the QuerySet.
- # The following would trigger an extra query if prefetch were ignored.
- with self.assertNumQueries(2 if PYPY else 3):
+ # CPython < 3.14 calls ModelChoiceField.__len__() when coercing to
+ # tuple. PyPy and Python 3.14+ don't call __len__() and so .count()
+ # isn't called on the QuerySet. The following would trigger an extra
+ # query if prefetch were ignored.
+ with self.assertNumQueries(2 if PYPY or PY314 else 3):
self.assertEqual(
tuple(field.choices),
(