summaryrefslogtreecommitdiff
path: root/tests/queryset_pickle/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/queryset_pickle/tests.py')
-rw-r--r--tests/queryset_pickle/tests.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/queryset_pickle/tests.py b/tests/queryset_pickle/tests.py
index acdb582a0a..074a8ed550 100644
--- a/tests/queryset_pickle/tests.py
+++ b/tests/queryset_pickle/tests.py
@@ -351,6 +351,29 @@ class PickleabilityTestCase(TestCase):
event.edition_set.create()
self.assert_pickles(event.edition_set.order_by("event"))
+ def test_fetch_mode_fetch_one(self):
+ restored = pickle.loads(pickle.dumps(self.happening))
+ self.assertIs(restored._state.fetch_mode, models.FETCH_ONE)
+
+ def test_fetch_mode_fetch_peers(self):
+ Happening.objects.create()
+ objs = list(Happening.objects.fetch_mode(models.FETCH_PEERS))
+ self.assertEqual(objs[0]._state.fetch_mode, models.FETCH_PEERS)
+ self.assertEqual(len(objs[0]._state.peers), 2)
+
+ restored = pickle.loads(pickle.dumps(objs))
+
+ self.assertIs(restored[0]._state.fetch_mode, models.FETCH_PEERS)
+ # Peers not restored because weak references are not picklable.
+ self.assertEqual(restored[0]._state.peers, ())
+
+ def test_fetch_mode_raise(self):
+ objs = list(Happening.objects.fetch_mode(models.RAISE))
+ self.assertEqual(objs[0]._state.fetch_mode, models.RAISE)
+
+ restored = pickle.loads(pickle.dumps(objs))
+ self.assertIs(restored[0]._state.fetch_mode, models.RAISE)
+
class InLookupTests(TestCase):
@classmethod