mirror of
https://github.com/django/django.git
synced 2025-08-04 10:59:45 +00:00
Refs #17635 -- Tested the Cast function in a geography to geometry context
Thanks Tim Graham for the review.
This commit is contained in:
parent
1c30a6473d
commit
1ee9c5b4a9
2 changed files with 30 additions and 0 deletions
|
@ -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>`_.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue