Fixed #28632 -- Updated docs about using raw SQL with GIS and doc'd changes from refs #28518 in release notes.

This commit is contained in:
Sergey Fedoseev 2017-11-01 19:12:01 +05:00 committed by Tim Graham
parent 69922d303d
commit 8869142a4d
2 changed files with 16 additions and 6 deletions

View File

@ -645,16 +645,21 @@ of abstraction::
__ http://spatialreference.org/ref/epsg/32140/ __ http://spatialreference.org/ref/epsg/32140/
.. _gis-raw-sql:
.. admonition:: Raw queries .. admonition:: Raw queries
When using :doc:`raw queries </topics/db/sql>`, you should generally wrap When using :doc:`raw queries </topics/db/sql>`, you must wrap your geometry
your geometry fields with the ``asText()`` SQL function (or ``ST_AsText`` fields so that the field value can be recognized by GEOS::
for PostGIS) so that the field value will be recognized by GEOS::
City.objects.raw('SELECT id, name, asText(point) from myapp_city') from django.db import connection
# or if you're querying a non-default database:
from django.db import connections
connection = connections['your_gis_db_alias']
This is not absolutely required by PostGIS, but generally you should only City.objects.raw('SELECT id, name, %s as point from myapp_city' % (connection.ops.select % 'point'))
use raw queries when you know exactly what you are doing.
You should only use raw queries when you know exactly what you're doing.
Lazy Geometries Lazy Geometries
--------------- ---------------

View File

@ -611,6 +611,11 @@ Miscellaneous
* Support for GEOS 3.3.x is dropped. * Support for GEOS 3.3.x is dropped.
* The way data is selected for ``GeometryField`` is changed to improve
performance, and in raw SQL queries, those fields must now be wrapped in
``connection.ops.select``. See the :ref:`Raw queries note<gis-raw-sql>` in
the GIS tutorial for an example.
.. _deprecated-features-2.0: .. _deprecated-features-2.0:
Features deprecated in 2.0 Features deprecated in 2.0