diff --git a/tests/queryset_pickle/tests.py b/tests/queryset_pickle/tests.py index b4b540c80d..58654977c3 100644 --- a/tests/queryset_pickle/tests.py +++ b/tests/queryset_pickle/tests.py @@ -90,3 +90,15 @@ class PickleabilityTestCase(TestCase): reloaded = pickle.loads(dumped) self.assertEqual(original, reloaded) self.assertIs(reloaded.__class__, dynclass) + + def test_pickle_prefetch_related_idempotence(self): + g = Group.objects.create(name='foo') + groups = Group.objects.prefetch_related('event_set') + + # First pickling + groups = pickle.loads(pickle.dumps(groups)) + self.assertQuerysetEqual(groups, [g], lambda x: x) + + # Second pickling + groups = pickle.loads(pickle.dumps(groups)) + self.assertQuerysetEqual(groups, [g], lambda x: x)