mirror of
				https://github.com/django/django.git
				synced 2025-11-04 05:35:37 +00:00 
			
		
		
		
	Fixed #16409 (again, this time for GeoDjango).
Thanks Aymeric Augustin for the regression test and Petr Gorodechnyj for the patch. Refs r16522. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17506 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		
							parent
							
								
									44452b11eb
								
							
						
					
					
						commit
						d72d5ce827
					
				
					 2 changed files with 7 additions and 1 deletions
				
			
		| 
						 | 
					@ -37,7 +37,7 @@ class GeoSQLCompiler(compiler.SQLCompiler):
 | 
				
			||||||
                if isinstance(col, (list, tuple)):
 | 
					                if isinstance(col, (list, tuple)):
 | 
				
			||||||
                    alias, column = col
 | 
					                    alias, column = col
 | 
				
			||||||
                    table = self.query.alias_map[alias][TABLE_NAME]
 | 
					                    table = self.query.alias_map[alias][TABLE_NAME]
 | 
				
			||||||
                    if table in only_load and col not in only_load[table]:
 | 
					                    if table in only_load and column not in only_load[table]:
 | 
				
			||||||
                        continue
 | 
					                        continue
 | 
				
			||||||
                    r = self.get_field_select(field, alias, column)
 | 
					                    r = self.get_field_select(field, alias, column)
 | 
				
			||||||
                    if with_aliases:
 | 
					                    if with_aliases:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,7 @@ from datetime import datetime
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django.contrib.gis.tests.utils import no_mysql, no_spatialite
 | 
					from django.contrib.gis.tests.utils import no_mysql, no_spatialite
 | 
				
			||||||
from django.contrib.gis.shortcuts import render_to_kmz
 | 
					from django.contrib.gis.shortcuts import render_to_kmz
 | 
				
			||||||
 | 
					from django.db.models import Count
 | 
				
			||||||
from django.test import TestCase
 | 
					from django.test import TestCase
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .models import City, PennsylvaniaCity, State
 | 
					from .models import City, PennsylvaniaCity, State
 | 
				
			||||||
| 
						 | 
					@ -58,3 +59,8 @@ class GeoRegressionTests(TestCase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         # .count() should not throw TypeError in __eq__
 | 
					         # .count() should not throw TypeError in __eq__
 | 
				
			||||||
         self.assertEqual(cities_within_state.count(), 1)
 | 
					         self.assertEqual(cities_within_state.count(), 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test06_defer_or_only_with_annotate(self):
 | 
				
			||||||
 | 
					        "Regression for #16409 - make sure defer() and only() work with annotate()"
 | 
				
			||||||
 | 
					        self.assertIsInstance(list(City.objects.annotate(Count('point')).defer('name')), list)
 | 
				
			||||||
 | 
					        self.assertIsInstance(list(City.objects.annotate(Count('point')).only('name')), list)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue