summaryrefslogtreecommitdiff
path: root/django/contrib/gis/db/models/sql/where.py
diff options
context:
space:
mode:
authorJustin Bronn <jbronn@gmail.com>2009-01-05 22:16:12 +0000
committerJustin Bronn <jbronn@gmail.com>2009-01-05 22:16:12 +0000
commit391736e73749dc71a37fda94409ac8fa26738097 (patch)
tree65ddac0e295afa4483dd9223be50e77cb8702f8b /django/contrib/gis/db/models/sql/where.py
parentf747b61c20cb2ab9bcbca2b272f3fba80cf39ac6 (diff)
Updated `GeoWhere` to be compatible with changes in r9700.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9702 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/contrib/gis/db/models/sql/where.py')
-rw-r--r--django/contrib/gis/db/models/sql/where.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/django/contrib/gis/db/models/sql/where.py b/django/contrib/gis/db/models/sql/where.py
index a1a28d9511..5db845f0b9 100644
--- a/django/contrib/gis/db/models/sql/where.py
+++ b/django/contrib/gis/db/models/sql/where.py
@@ -29,7 +29,10 @@ class GeoWhereNode(WhereNode):
"""
if not isinstance(data, (list, tuple)):
return super(WhereNode, self).add(data, connector)
- alias, col, field, lookup_type, value = data
+
+ obj, lookup_type, value = data
+ alias, col, field = obj.alias, obj.col, obj.field
+
if not hasattr(field, "_geom"):
# Not a geographic field, so call `WhereNode.add`.
return super(GeoWhereNode, self).add(data, connector)
@@ -43,18 +46,17 @@ class GeoWhereNode(WhereNode):
# the `get_geo_where_clause` to construct the appropriate
# spatial SQL when `make_atom` is called.
annotation = GeoAnnotation(field, value, where)
- return super(WhereNode, self).add((alias, col, field.db_type(), lookup_type,
- annotation, params), connector)
+ return super(WhereNode, self).add((obj, lookup_type, annotation, params), connector)
def make_atom(self, child, qn):
- table_alias, name, db_type, lookup_type, value_annot, params = child
-
+ lvalue, lookup_type, value_annot, params = child
+
if isinstance(value_annot, GeoAnnotation):
if lookup_type in SpatialBackend.gis_terms:
# Getting the geographic where clause; substitution parameters
# will be populated in the GeoFieldSQL object returned by the
# GeometryField.
- gwc = get_geo_where_clause(table_alias, name, lookup_type, value_annot)
+ gwc = get_geo_where_clause(lvalue.alias, lvalue.col, lookup_type, value_annot)
return gwc % value_annot.where, params
else:
raise TypeError('Invalid lookup type: %r' % lookup_type)