mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #28586 -- Added model field fetch modes.
May your database queries be much reduced with minimal effort. co-authored-by: Andreas Pelme <andreas@pelme.se> co-authored-by: Simon Charette <charette.s@gmail.com> co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 Jacob Walls
						Jacob Walls
					
				
			
			
				
	
			
			
			
						parent
						
							f6bd90c840
						
					
				
				
					commit
					e097e8a12f
				
			| @@ -4,6 +4,7 @@ from django.contrib.contenttypes.models import ContentType | ||||
| from django.core.exceptions import ObjectDoesNotExist | ||||
| from django.db import NotSupportedError, connection | ||||
| from django.db.models import F, Prefetch, QuerySet, prefetch_related_objects | ||||
| from django.db.models.fetch_modes import RAISE | ||||
| from django.db.models.query import get_prefetcher | ||||
| from django.db.models.sql import Query | ||||
| from django.test import ( | ||||
| @@ -107,6 +108,10 @@ class PrefetchRelatedTests(TestDataMixin, TestCase): | ||||
|         normal_books = [a.first_book for a in Author.objects.all()] | ||||
|         self.assertEqual(books, normal_books) | ||||
|  | ||||
|     def test_fetch_mode_raise(self): | ||||
|         authors = list(Author.objects.fetch_mode(RAISE).prefetch_related("first_book")) | ||||
|         authors[0].first_book  # No exception, already loaded | ||||
|  | ||||
|     def test_foreignkey_reverse(self): | ||||
|         with self.assertNumQueries(2): | ||||
|             [ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user