summaryrefslogtreecommitdiff
path: root/docs/ref
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2016-04-10 19:55:29 +0200
committerClaude Paroz <claude@2xlibre.net>2016-04-12 21:14:45 +0200
commit1ee9c5b4a965aaec7ab230295dcd4b99e330ab03 (patch)
treef72844f4e91c31d4c026ff5482a5beaf053d43f2 /docs/ref
parent1c30a6473df55c7efff71fd24f46c4b8d1ad5630 (diff)
Refs #17635 -- Tested the Cast function in a geography to geometry context
Thanks Tim Graham for the review.
Diffstat (limited to 'docs/ref')
-rw-r--r--docs/ref/contrib/gis/model-api.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/ref/contrib/gis/model-api.txt b/docs/ref/contrib/gis/model-api.txt
index d5e1d79afa..f795ea7c20 100644
--- a/docs/ref/contrib/gis/model-api.txt
+++ b/docs/ref/contrib/gis/model-api.txt
@@ -235,6 +235,18 @@ available for geography columns:
* :lookup:`covers`
* :lookup:`intersects`
+If you need to use a spatial lookup or aggregate that doesn't support the
+geography type as input, you can use the
+:class:`~django.db.models.functions.Cast` database function to convert the
+geography column to a geometry type in the query::
+
+ from django.contrib.gis.db.models import PointField
+ from django.db.models.functions import Cast
+
+ Zipcode.objects.annotate(
+ geom=Cast('geography_field', PointField())
+ ).filter(geom__within=poly)
+
For more information, the PostGIS documentation contains a helpful section on
determining `when to use geography data type over geometry data type
<http://postgis.net/docs/manual-2.1/using_postgis_dbmanagement.html#PostGIS_GeographyVSGeometry>`_.