summaryrefslogtreecommitdiff
path: root/tests/one_to_one
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2019-07-26 10:18:24 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-07-27 12:03:45 +0200
commit619c9a4f49a1f0d9b53a732ae8c5132e32a6ce1c (patch)
treed370ec301f07cf49a46bae2cdd7a0019b6d14207 /tests/one_to_one
parent4b4e68a7a6847e8b449923bb882bed01f0d7b2a8 (diff)
downloaddjango-619c9a4f49a1f0d9b53a732ae8c5132e32a6ce1c.tar.gz
Added tests for using attnames to assign OneToOne and Foreign Key fields.
Diffstat (limited to 'tests/one_to_one')
-rw-r--r--tests/one_to_one/tests.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/one_to_one/tests.py b/tests/one_to_one/tests.py
index 51e358c7f9..78b3ff1135 100644
--- a/tests/one_to_one/tests.py
+++ b/tests/one_to_one/tests.py
@@ -205,6 +205,18 @@ class OneToOneTests(TestCase):
# reverse cache has a value of None.
p.undergroundbar = None
+ def test_assign_o2o_id_value(self):
+ b = UndergroundBar.objects.create(place=self.p1)
+ b.place_id = self.p2.pk
+ b.save()
+ self.assertEqual(b.place_id, self.p2.pk)
+ self.assertFalse(UndergroundBar.place.is_cached(b))
+ self.assertEqual(b.place, self.p2)
+ self.assertTrue(UndergroundBar.place.is_cached(b))
+ # Reassigning the same value doesn't clear a cached instance.
+ b.place_id = self.p2.pk
+ self.assertTrue(UndergroundBar.place.is_cached(b))
+
def test_related_object_cache(self):
""" Regression test for #6886 (the related-object cache) """