mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	[2.0.x] Fixed #27846 -- Made Model.refresh_from_db() clear cached relations.
Backport of a7b5ad8b19 from master
			
			
This commit is contained in:
		| @@ -11,7 +11,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): | ||||
| @@ -745,3 +745,14 @@ class ModelRefreshTests(TestCase): | ||||
|         a = Article.objects.create(pub_date=self._truncate_ms(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')) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user