mirror of
https://github.com/django/django.git
synced 2024-12-22 09:05:43 +00:00
Refs #35844 -- Fixed OtherModelFormTests.test_prefetch_related_queryset() test on Python 3.14+.
5a23994a3d
This commit is contained in:
parent
f05edb2b43
commit
fcd9d08379
@ -26,7 +26,7 @@ from django.test import SimpleTestCase, TestCase, ignore_warnings, skipUnlessDBF
|
|||||||
from django.test.utils import isolate_apps
|
from django.test.utils import isolate_apps
|
||||||
from django.utils.choices import BlankChoiceIterator
|
from django.utils.choices import BlankChoiceIterator
|
||||||
from django.utils.deprecation import RemovedInDjango60Warning
|
from django.utils.deprecation import RemovedInDjango60Warning
|
||||||
from django.utils.version import PYPY
|
from django.utils.version import PY314, PYPY
|
||||||
|
|
||||||
from .models import (
|
from .models import (
|
||||||
Article,
|
Article,
|
||||||
@ -3048,10 +3048,11 @@ class OtherModelFormTests(TestCase):
|
|||||||
return ", ".join(c.name for c in obj.colours.all())
|
return ", ".join(c.name for c in obj.colours.all())
|
||||||
|
|
||||||
field = ColorModelChoiceField(ColourfulItem.objects.prefetch_related("colours"))
|
field = ColorModelChoiceField(ColourfulItem.objects.prefetch_related("colours"))
|
||||||
# CPython calls ModelChoiceField.__len__() when coercing to tuple. PyPy
|
# CPython < 3.14 calls ModelChoiceField.__len__() when coercing to
|
||||||
# doesn't call __len__() and so .count() isn't called on the QuerySet.
|
# tuple. PyPy and Python 3.14+ don't call __len__() and so .count()
|
||||||
# The following would trigger an extra query if prefetch were ignored.
|
# isn't called on the QuerySet. The following would trigger an extra
|
||||||
with self.assertNumQueries(2 if PYPY else 3):
|
# query if prefetch were ignored.
|
||||||
|
with self.assertNumQueries(2 if PYPY or PY314 else 3):
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
tuple(field.choices),
|
tuple(field.choices),
|
||||||
(
|
(
|
||||||
|
Loading…
Reference in New Issue
Block a user