From ca7b1f6d5189398be8a0d24b1e01577281b1b187 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Wed, 10 Dec 2014 21:09:45 +0000 Subject: Optimizations play nicely with select_related, prefetch_related --- tests/test_relations_pk.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/test_relations_pk.py') diff --git a/tests/test_relations_pk.py b/tests/test_relations_pk.py index e95a877e..f872a8dc 100644 --- a/tests/test_relations_pk.py +++ b/tests/test_relations_pk.py @@ -71,6 +71,12 @@ class PKManyToManyTests(TestCase): with self.assertNumQueries(4): self.assertEqual(serializer.data, expected) + def test_many_to_many_retrieve_prefetch_related(self): + queryset = ManyToManySource.objects.all().prefetch_related('targets') + serializer = ManyToManySourceSerializer(queryset, many=True) + with self.assertNumQueries(2): + serializer.data + def test_reverse_many_to_many_retrieve(self): queryset = ManyToManyTarget.objects.all() serializer = ManyToManyTargetSerializer(queryset, many=True) @@ -188,6 +194,12 @@ class PKForeignKeyTests(TestCase): with self.assertNumQueries(3): self.assertEqual(serializer.data, expected) + def test_reverse_foreign_key_retrieve_prefetch_related(self): + queryset = ForeignKeyTarget.objects.all().prefetch_related('sources') + serializer = ForeignKeyTargetSerializer(queryset, many=True) + with self.assertNumQueries(2): + serializer.data + def test_foreign_key_update(self): data = {'id': 1, 'name': 'source-1', 'target': 2} instance = ForeignKeySource.objects.get(pk=1) -- cgit v1.2.3