mirror of
https://github.com/django/django.git
synced 2024-12-25 02:26:12 +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
@ -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…
Reference in New Issue
Block a user