summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnssi Kääriäinen <akaariai@gmail.com>2012-11-02 14:54:50 +0200
committerAnssi Kääriäinen <akaariai@gmail.com>2012-11-02 14:57:19 +0200
commit92fc263a2898b804c3b46447fd47e2898fbf8ff1 (patch)
tree31d2460541fb17700db92fe0f61af4b0034032e8
parent0d8432da552b2ddf2d2326edccae627dd05a414e (diff)
Fixed a regression in gis introduced by Query.select_fields removal
-rw-r--r--django/contrib/gis/db/models/query.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/contrib/gis/db/models/query.py b/django/contrib/gis/db/models/query.py
index 2ffbd2021b..c89912b2d9 100644
--- a/django/contrib/gis/db/models/query.py
+++ b/django/contrib/gis/db/models/query.py
@@ -760,8 +760,10 @@ class GeoQuerySet(QuerySet):
self.query.add_select_related([field_name])
compiler = self.query.get_compiler(self.db)
compiler.pre_sql_setup()
- rel_table, rel_col = self.query.related_select_cols[self.query.related_select_fields.index(geo_field)]
- return compiler._field_column(geo_field, rel_table)
+ for (rel_table, rel_col), field in self.query.related_select_cols:
+ if field == geo_field:
+ return compiler._field_column(geo_field, rel_table)
+ raise ValueError("%r not in self.query.related_select_cols" % geo_field)
elif not geo_field in opts.local_fields:
# This geographic field is inherited from another model, so we have to
# use the db table for the _parent_ model instead.