diff options
author | Claude Paroz <claude@2xlibre.net> | 2020-05-24 14:14:49 +0200 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-05-25 10:45:16 +0200 |
commit | adf58311b84f2aa92ca57661a8ba8679481ac930 (patch) | |
tree | 7626022aa95a41732508012c206e733511cf51bb /tests/serializers | |
parent | b547c426612354536ab884d59661b0d3ef70c0c1 (diff) | |
download | django-adf58311b84f2aa92ca57661a8ba8679481ac930.tar.gz |
Fixed #29078 -- Made serializers respect prefetch_related() for m2m fields.
Diffstat (limited to 'tests/serializers')
-rw-r--r-- | tests/serializers/tests.py | 13 |
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 |