From 136bf5c2142ae3261669d02e2dd050c3141f7f2f Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Tue, 30 Jan 2018 07:43:53 -0800 Subject: Fixed #29076 -- Made Model.refresh_from_db() clear cached relationships even if the related id doesn't change. --- tests/basic/tests.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/basic') diff --git a/tests/basic/tests.py b/tests/basic/tests.py index 7a99ab0cf0..1a5e95e9d6 100644 --- a/tests/basic/tests.py +++ b/tests/basic/tests.py @@ -722,3 +722,15 @@ class ModelRefreshTests(TestCase): FeaturedArticle.objects.create(article_id=article.pk) article.refresh_from_db() self.assertTrue(hasattr(article, 'featured')) + + def test_refresh_clears_one_to_one_field(self): + article = Article.objects.create( + headline='Parrot programs in Python', + pub_date=datetime(2005, 7, 28), + ) + featured = FeaturedArticle.objects.create(article_id=article.pk) + self.assertEqual(featured.article.headline, 'Parrot programs in Python') + article.headline = 'Parrot programs in Python 2.0' + article.save() + featured.refresh_from_db() + self.assertEqual(featured.article.headline, 'Parrot programs in Python 2.0') -- cgit v1.2.1