diff options
| author | Claude Paroz <claude@2xlibre.net> | 2016-04-10 19:55:29 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2016-04-12 21:14:45 +0200 |
| commit | 1ee9c5b4a965aaec7ab230295dcd4b99e330ab03 (patch) | |
| tree | f72844f4e91c31d4c026ff5482a5beaf053d43f2 /docs | |
| parent | 1c30a6473df55c7efff71fd24f46c4b8d1ad5630 (diff) | |
Refs #17635 -- Tested the Cast function in a geography to geometry context
Thanks Tim Graham for the review.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ref/contrib/gis/model-api.txt | 12 |
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>`_. |
