diff options
author | Simon Charette <charettes@users.noreply.github.com> | 2017-10-18 21:43:53 -0400 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-10-18 21:43:53 -0400 |
commit | d4fb742094dba99cb0db17f3aa9d9f5159af676f (patch) | |
tree | 2335588c666880ad56415e4ea7c0edb6b66cf98e /tests/queryset_pickle | |
parent | 4a861e88508eacdb8d0d5bc43f9a0576cedb9f22 (diff) | |
download | django-d4fb742094dba99cb0db17f3aa9d9f5159af676f.tar.gz |
Refs #28575 -- Made RelatedObjectDoesNotExist classes pickable.
Thanks to Rachel Tobin for the initial __qualname__ work and tests.
Diffstat (limited to 'tests/queryset_pickle')
-rw-r--r-- | tests/queryset_pickle/models.py | 1 | ||||
-rw-r--r-- | tests/queryset_pickle/tests.py | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/tests/queryset_pickle/models.py b/tests/queryset_pickle/models.py index fba65d7a9e..1275ed6f20 100644 --- a/tests/queryset_pickle/models.py +++ b/tests/queryset_pickle/models.py @@ -45,6 +45,7 @@ class Happening(models.Model): name = models.CharField(blank=True, max_length=100, default="test") number1 = models.IntegerField(blank=True, default=standalone_number) number2 = models.IntegerField(blank=True, default=Numbers.get_static_number) + event = models.OneToOneField(Event, models.CASCADE, null=True) class Container: diff --git a/tests/queryset_pickle/tests.py b/tests/queryset_pickle/tests.py index ebefb690df..27f509a9c1 100644 --- a/tests/queryset_pickle/tests.py +++ b/tests/queryset_pickle/tests.py @@ -55,6 +55,18 @@ class PickleabilityTestCase(TestCase): klass = Event.MultipleObjectsReturned self.assertIs(pickle.loads(pickle.dumps(klass)), klass) + def test_forward_relatedobjectdoesnotexist_class(self): + # ForwardManyToOneDescriptor + klass = Event.group.RelatedObjectDoesNotExist + self.assertIs(pickle.loads(pickle.dumps(klass)), klass) + # ForwardOneToOneDescriptor + klass = Happening.event.RelatedObjectDoesNotExist + self.assertIs(pickle.loads(pickle.dumps(klass)), klass) + + def test_reverse_one_to_one_relatedobjectdoesnotexist_class(self): + klass = Event.happening.RelatedObjectDoesNotExist + self.assertIs(pickle.loads(pickle.dumps(klass)), klass) + def test_manager_pickle(self): pickle.loads(pickle.dumps(Happening.objects)) |