summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndriy Sokolovskiy <me@asokolovskiy.com>2015-05-29 14:45:36 +0300
committerTim Graham <timograham@gmail.com>2015-06-02 10:07:45 -0400
commit9d83de8ff3b835603fe09e8842529c9810bc1dcd (patch)
tree1e25a685eb0d971f13e7198c8d6da57300c09e58 /tests
parent1c57d7e7faaeadb7f32e01586da7997d11df1ad9 (diff)
[1.8.x] Fixed #24831 -- Fixed pickling queryset with prefetch_related() after deleting objects.
Backport of 2913d6b77d8b2082dc79df5503b7dd3ddd05fcc1 from master
Diffstat (limited to 'tests')
-rw-r--r--tests/queryset_pickle/tests.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/queryset_pickle/tests.py b/tests/queryset_pickle/tests.py
index 0125c158af..6a3145e29c 100644
--- a/tests/queryset_pickle/tests.py
+++ b/tests/queryset_pickle/tests.py
@@ -120,6 +120,20 @@ class PickleabilityTestCase(TestCase):
groups = pickle.loads(pickle.dumps(groups))
self.assertQuerysetEqual(groups, [g], lambda x: x)
+ def test_pickle_prefetch_related_with_m2m_and_objects_deletion(self):
+ """
+ #24831 -- Cached properties on ManyToOneRel created in QuerySet.delete()
+ caused subsequent QuerySet pickling to fail.
+ """
+ g = Group.objects.create(name='foo')
+ m2m = M2MModel.objects.create()
+ m2m.groups.add(g)
+ Group.objects.all().delete()
+
+ m2ms = M2MModel.objects.prefetch_related('groups')
+ m2ms = pickle.loads(pickle.dumps(m2ms))
+ self.assertQuerysetEqual(m2ms, [m2m], lambda x: x)
+
def test_missing_django_version_unpickling(self):
"""
#21430 -- Verifies a warning is raised for querysets that are