summaryrefslogtreecommitdiff
path: root/tests/serializers
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2020-05-24 14:14:49 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-05-25 10:45:16 +0200
commitadf58311b84f2aa92ca57661a8ba8679481ac930 (patch)
tree7626022aa95a41732508012c206e733511cf51bb /tests/serializers
parentb547c426612354536ab884d59661b0d3ef70c0c1 (diff)
downloaddjango-adf58311b84f2aa92ca57661a8ba8679481ac930.tar.gz
Fixed #29078 -- Made serializers respect prefetch_related() for m2m fields.
Diffstat (limited to 'tests/serializers')
-rw-r--r--tests/serializers/tests.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/serializers/tests.py b/tests/serializers/tests.py
index 42044b5572..439464980d 100644
--- a/tests/serializers/tests.py
+++ b/tests/serializers/tests.py
@@ -250,6 +250,19 @@ class SerializersTestBase:
with self.assertNumQueries(0):
serializers.serialize(self.serializer_name, [mv])
+ def test_serialize_prefetch_related_m2m(self):
+ # One query for the Article table and one for each prefetched m2m
+ # field.
+ with self.assertNumQueries(3):
+ serializers.serialize(
+ self.serializer_name,
+ Article.objects.all().prefetch_related('categories', 'meta_data'),
+ )
+ # One query for the Article table, and two m2m queries for each
+ # article.
+ with self.assertNumQueries(5):
+ serializers.serialize(self.serializer_name, Article.objects.all())
+
def test_serialize_with_null_pk(self):
"""
Serialized data with no primary key results