diff options
| author | Paulo <commonzenpython@gmail.com> | 2017-09-19 12:51:19 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-10-12 17:04:10 -0400 |
| commit | a7b5ad8b19a08d7d57302ece74f6e26d2887fd9f (patch) | |
| tree | 9ecb9d873ed64d580c6cf76e0bb2e9b97cbf79d9 /tests/basic/tests.py | |
| parent | df0aebc893973c78d7d2cda712ba4133dbe29b6e (diff) | |
Fixed #27846 -- Made Model.refresh_from_db() clear cached relations.
Diffstat (limited to 'tests/basic/tests.py')
| -rw-r--r-- | tests/basic/tests.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/basic/tests.py b/tests/basic/tests.py index d877562116..7a99ab0cf0 100644 --- a/tests/basic/tests.py +++ b/tests/basic/tests.py @@ -10,7 +10,7 @@ from django.test import ( ) from django.utils.translation import gettext_lazy -from .models import Article, ArticleSelectOnSave, SelfRef +from .models import Article, ArticleSelectOnSave, FeaturedArticle, SelfRef class ModelInstanceCreationTests(TestCase): @@ -711,3 +711,14 @@ class ModelRefreshTests(TestCase): a = Article.objects.create(pub_date=datetime.now()) with self.assertNumQueries(0): a.refresh_from_db(fields=[]) + + def test_refresh_clears_reverse_related(self): + """refresh_from_db() clear cached reverse relations.""" + article = Article.objects.create( + headline='Parrot programs in Python', + pub_date=datetime(2005, 7, 28), + ) + self.assertFalse(hasattr(article, 'featured')) + FeaturedArticle.objects.create(article_id=article.pk) + article.refresh_from_db() + self.assertTrue(hasattr(article, 'featured')) |
