From b646fbe4a77c10314ffcac31ff2f10a42e69c220 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Thu, 8 Oct 2015 18:48:57 -0400 Subject: [1.9.x] Fixed #14368 -- Allowed setting a reverse OneToOne relation to None. Backport of 384ddbec1b73a4636f234da3894fde8f8420bb63 from master --- tests/one_to_one/tests.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/one_to_one/tests.py b/tests/one_to_one/tests.py index 25d20dc2c9..ee5d7415e3 100644 --- a/tests/one_to_one/tests.py +++ b/tests/one_to_one/tests.py @@ -186,6 +186,22 @@ class OneToOneTests(TestCase): self.assertEqual(self.p1.restaurant, self.r1) self.assertEqual(self.p1.bar, self.b1) + def test_assign_none_reverse_relation(self): + p = Place.objects.get(name="Demon Dogs") + # Assigning None succeeds if field is null=True. + ug_bar = UndergroundBar.objects.create(place=p, serves_cocktails=False) + p.undergroundbar = None + self.assertIsNone(ug_bar.place) + ug_bar.save() + ug_bar.refresh_from_db() + self.assertIsNone(ug_bar.place) + + def test_assign_none_null_reverse_relation(self): + p = Place.objects.get(name="Demon Dogs") + # Assigning None doesn't throw AttributeError if there isn't a related + # UndergroundBar. + p.undergroundbar = None + def test_related_object_cache(self): """ Regression test for #6886 (the related-object cache) """ -- cgit v1.3