diff options
author | Paulo <commonzenpython@gmail.com> | 2017-09-20 23:27:04 -0500 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-11-09 11:40:34 -0500 |
commit | ee49306176a2d2f1751cb890bd607d42c7c09196 (patch) | |
tree | f79ff9ba8642a33f0720f6ac0ff684e038367091 /tests/many_to_one | |
parent | ebb998976e2889c669972ed3d1b372cc6a2b5229 (diff) | |
download | django-ee49306176a2d2f1751cb890bd607d42c7c09196.tar.gz |
Fixed #27710 -- Made Model.save() invalidate cached, stale relations after a primary key assignment.
Diffstat (limited to 'tests/many_to_one')
-rw-r--r-- | tests/many_to_one/tests.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/many_to_one/tests.py b/tests/many_to_one/tests.py index 0e3395bf3a..a2ff587ab3 100644 --- a/tests/many_to_one/tests.py +++ b/tests/many_to_one/tests.py @@ -656,3 +656,13 @@ class ManyToOneTests(TestCase): self.assertEqual(city.districts.count(), 2) city.districts.remove(d2) self.assertEqual(city.districts.count(), 1) + + def test_cached_relation_invalidated_on_save(self): + """ + Model.save() invalidates stale ForeignKey relations after a primary key + assignment. + """ + self.assertEqual(self.a.reporter, self.r) # caches a.reporter + self.a.reporter_id = self.r2.pk + self.a.save() + self.assertEqual(self.a.reporter, self.r2) |