mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #23395 -- Limited line lengths to 119 characters.
This commit is contained in:
committed by
Tim Graham
parent
84b0a8d2aa
commit
b1e33ceced
@@ -313,7 +313,10 @@ class CustomPrefetchTests(TestCase):
|
||||
# Ambiguous: Lookup houses_lst doesn't yet exist when performing houses_lst__rooms.
|
||||
with self.assertRaises(AttributeError):
|
||||
self.traverse_qs(
|
||||
Person.objects.prefetch_related('houses_lst__rooms', Prefetch('houses', queryset=House.objects.all(), to_attr='houses_lst')),
|
||||
Person.objects.prefetch_related(
|
||||
'houses_lst__rooms',
|
||||
Prefetch('houses', queryset=House.objects.all(), to_attr='houses_lst')
|
||||
),
|
||||
[['houses', 'rooms']]
|
||||
)
|
||||
|
||||
@@ -324,7 +327,10 @@ class CustomPrefetchTests(TestCase):
|
||||
)
|
||||
|
||||
self.traverse_qs(
|
||||
Person.objects.prefetch_related('houses__rooms', Prefetch('houses', queryset=House.objects.all(), to_attr='houses_lst')),
|
||||
Person.objects.prefetch_related(
|
||||
'houses__rooms',
|
||||
Prefetch('houses', queryset=House.objects.all(), to_attr='houses_lst')
|
||||
),
|
||||
[['houses', 'rooms']]
|
||||
)
|
||||
|
||||
@@ -537,8 +543,15 @@ class CustomPrefetchTests(TestCase):
|
||||
|
||||
# Test queryset filtering.
|
||||
with self.assertNumQueries(2):
|
||||
lst2 = list(Person.objects.prefetch_related(
|
||||
Prefetch('houses', queryset=House.objects.filter(pk__in=[self.house1.pk, self.house3.pk]), to_attr='houses_lst')))
|
||||
lst2 = list(
|
||||
Person.objects.prefetch_related(
|
||||
Prefetch(
|
||||
'houses',
|
||||
queryset=House.objects.filter(pk__in=[self.house1.pk, self.house3.pk]),
|
||||
to_attr='houses_lst',
|
||||
)
|
||||
)
|
||||
)
|
||||
self.assertEqual(len(lst2[0].houses_lst), 1)
|
||||
self.assertEqual(lst2[0].houses_lst[0], self.house1)
|
||||
self.assertEqual(len(lst2[1].houses_lst), 1)
|
||||
@@ -596,10 +609,14 @@ class CustomPrefetchTests(TestCase):
|
||||
rooms = Room.objects.all().prefetch_related(Prefetch('house', queryset=houses.all(), to_attr='house_attr'))
|
||||
lst2 = self.traverse_qs(rooms, [['house_attr', 'owner']])
|
||||
self.assertEqual(lst1, lst2)
|
||||
room = Room.objects.all().prefetch_related(Prefetch('house', queryset=houses.filter(address='DoesNotExist'))).first()
|
||||
room = Room.objects.all().prefetch_related(
|
||||
Prefetch('house', queryset=houses.filter(address='DoesNotExist'))
|
||||
).first()
|
||||
with self.assertRaises(ObjectDoesNotExist):
|
||||
getattr(room, 'house')
|
||||
room = Room.objects.all().prefetch_related(Prefetch('house', queryset=houses.filter(address='DoesNotExist'), to_attr='house_attr')).first()
|
||||
room = Room.objects.all().prefetch_related(
|
||||
Prefetch('house', queryset=houses.filter(address='DoesNotExist'), to_attr='house_attr')
|
||||
).first()
|
||||
self.assertIsNone(room.house_attr)
|
||||
rooms = Room.objects.all().prefetch_related(Prefetch('house', queryset=House.objects.only('name')))
|
||||
with self.assertNumQueries(2):
|
||||
@@ -617,13 +634,21 @@ class CustomPrefetchTests(TestCase):
|
||||
lst2 = self.traverse_qs(rooms, [['main_room_of', 'owner']])
|
||||
self.assertEqual(lst1, lst2)
|
||||
with self.assertNumQueries(2):
|
||||
rooms = list(Room.objects.all().prefetch_related(Prefetch('main_room_of', queryset=houses.all(), to_attr='main_room_of_attr')))
|
||||
rooms = list(
|
||||
Room.objects.all().prefetch_related(
|
||||
Prefetch('main_room_of', queryset=houses.all(), to_attr='main_room_of_attr')
|
||||
)
|
||||
)
|
||||
lst2 = self.traverse_qs(rooms, [['main_room_of_attr', 'owner']])
|
||||
self.assertEqual(lst1, lst2)
|
||||
room = Room.objects.filter(main_room_of__isnull=False).prefetch_related(Prefetch('main_room_of', queryset=houses.filter(address='DoesNotExist'))).first()
|
||||
room = Room.objects.filter(main_room_of__isnull=False).prefetch_related(
|
||||
Prefetch('main_room_of', queryset=houses.filter(address='DoesNotExist'))
|
||||
).first()
|
||||
with self.assertRaises(ObjectDoesNotExist):
|
||||
getattr(room, 'main_room_of')
|
||||
room = Room.objects.filter(main_room_of__isnull=False).prefetch_related(Prefetch('main_room_of', queryset=houses.filter(address='DoesNotExist'), to_attr='main_room_of_attr')).first()
|
||||
room = Room.objects.filter(main_room_of__isnull=False).prefetch_related(
|
||||
Prefetch('main_room_of', queryset=houses.filter(address='DoesNotExist'), to_attr='main_room_of_attr')
|
||||
).first()
|
||||
self.assertIsNone(room.main_room_of_attr)
|
||||
|
||||
def test_nested_prefetch_related_are_not_overwritten(self):
|
||||
|
||||
Reference in New Issue
Block a user