class documentation

class PostGISOperations(BaseSpatialOperations, DatabaseOperations):

View In Hierarchy

Undocumented

Static Method ​_normalize​_distance​_lookup​_arg Undocumented
Method ​_get​_postgis​_func Helper routine for calling PostGIS functions and returning their result.
Method convert​_extent Return a 4-tuple extent for the Extent aggregate by converting the bounding box text returned by PostGIS (box argument), for example: "BOX(-90.0 30.0, -85.0 40.0)".
Method convert​_extent3d Return a 6-tuple extent for the Extent3D aggregate by converting the 3d bounding-box text returned by PostGIS (box3d argument), for example: "BOX3D(-90.0 30.0 1, -85.0 40.0 2)".
Method distance​_expr​_for​_lookup Undocumented
Method geo​_db​_type Return the database field type for the given spatial field.
Method geometry​_columns Undocumented
Method get​_area​_att​_for​_field Undocumented
Method get​_distance Retrieve the distance parameters for the given geometry field, distance lookup value, and the distance lookup type.
Method get​_geom​_placeholder Provide a proper substitution value for Geometries or rasters that are not in the SRID of the field. Specifically, this routine will substitute in the ST_Transform() function call.
Method get​_geometry​_converter Undocumented
Method parse​_raster Convert a PostGIS HEX String into a dict readable by GDALRaster.
Method postgis​_full​_version Return PostGIS version number and compile-time options.
Method postgis​_geos​_version Return the version of the GEOS library used with PostGIS.
Method postgis​_lib​_version Return the version number of the PostGIS library used with PostgreSQL.
Method postgis​_proj​_version Return the version of the PROJ library used with PostGIS.
Method postgis​_version Return PostGIS version number and compile-time options.
Method postgis​_version​_tuple Return the PostGIS version as a tuple (version string, major, minor, subminor).
Method proj​_version​_tuple Return the version of PROJ used by PostGIS as a tuple of the major, minor, and subminor release numbers.
Method spatial​_aggregate​_name Undocumented
Method spatial​_ref​_sys Undocumented
Class Variable collect Undocumented
Class Variable extent Undocumented
Class Variable extent3d Undocumented
Class Variable geom​_func​_prefix Undocumented
Class Variable gis​_operators Undocumented
Class Variable length3d Undocumented
Class Variable makeline Undocumented
Class Variable name Undocumented
Class Variable perimeter3d Undocumented
Class Variable postgis Undocumented
Class Variable select Undocumented
Class Variable select​_extent Undocumented
Class Variable unionagg Undocumented
Class Variable unsupported​_functions Undocumented
Property function​_names Undocumented
Property spatial​_version Determine the version of the PostGIS library.

Inherited from BaseSpatialOperations:

Method check​_expression​_support Undocumented
Method geo​_quote​_name Undocumented
Method get​_db​_converters Undocumented
Method get​_distance​_att​_for​_field Undocumented
Method spatial​_function​_name Undocumented
Class Variable disallowed​_aggregates Undocumented
Class Variable from​_text Undocumented
Class Variable mariadb Undocumented
Class Variable mysql Undocumented
Class Variable oracle Undocumented
Class Variable spatialite Undocumented

Inherited from DatabaseOperations:

Method ​_convert​_field​_to​_tz Undocumented
Method ​_prepare​_tzname​_delta Undocumented
Method adapt​_datefield​_value Transform a date value to an object compatible with what is expected by the backend driver for date columns.
Method adapt​_datetimefield​_value Transform a datetime value to an object compatible with what is expected by the backend driver for datetime columns.
Method adapt​_decimalfield​_value Transform a decimal.Decimal value to an object compatible with what is expected by the backend driver for decimal (numeric) columns.
Method adapt​_ipaddressfield​_value Transform a string representation of an IP address into the expected type for the backend driver.
Method adapt​_timefield​_value Transform a time value to an object compatible with what is expected by the backend driver for time columns.
Method bulk​_insert​_sql Undocumented
Method date​_extract​_sql Given a lookup_type of 'year', 'month', or 'day', return the SQL that extracts a value from the given date field field_name.
Method date​_trunc​_sql Given a lookup_type of 'year', 'month', or 'day', return the SQL that truncates the given date or datetime field field_name to a date object with only the given specificity.
Method datetime​_cast​_date​_sql Return the SQL to cast a datetime value to date value.
Method datetime​_cast​_time​_sql Return the SQL to cast a datetime value to time value.
Method datetime​_extract​_sql Given a lookup_type of 'year', 'month', 'day', 'hour', 'minute', or 'second', return the SQL that extracts a value from the given datetime field field_name.
Method datetime​_trunc​_sql Given a lookup_type of 'year', 'month', 'day', 'hour', 'minute', or 'second', return the SQL that truncates the given datetime field field_name to a datetime object with only the given specificity.
Method deferrable​_sql Return the SQL to make a constraint "initially deferred" during a CREATE TABLE statement.
Method distinct​_sql Return an SQL DISTINCT clause which removes duplicate rows from the result set. If any fields are given, only check the given fields for duplicates.
Method explain​_query​_prefix Undocumented
Method fetch​_returned​_insert​_rows Given a cursor object that has just performed an INSERT...RETURNING statement into a table, return the tuple of returned data.
Method ignore​_conflicts​_suffix​_sql Undocumented
Method last​_executed​_query Return a string of the query last executed by the given cursor, with placeholders replaced with actual values.
Method lookup​_cast Return the string to use in a query when performing lookups ("contains", "like", etc.). It should contain a '%s' placeholder for the column being searched against.
Method max​_name​_length Return the maximum length of an identifier.
Method no​_limit​_value Return the value to use for the LIMIT when we are wanting "LIMIT infinity". Return None if the limit clause can be omitted in this case.
Method prep​_for​_iexact​_query Undocumented
Method prepare​_sql​_script Take an SQL script that may contain multiple lines and return a list of statements to feed to successive cursor.execute() calls.
Method quote​_name Return a quoted version of the given table, index, or column name. Do not quote the given name if it's already been quoted.
Method return​_insert​_columns For backends that support returning columns as part of an insert query, return the SQL and params to append to the INSERT query. The returned fragment should contain a format string to hold the appropriate column.
Method sequence​_reset​_by​_name​_sql Return a list of the SQL statements required to reset sequences passed in sequences.
Method sequence​_reset​_sql Return a list of the SQL statements required to reset sequences for the given models.
Method set​_time​_zone​_sql Return the SQL that will set the connection's time zone.
Method sql​_flush Return a list of SQL statements required to remove all data from the given database tables (without actually removing the tables themselves).
Method subtract​_temporals Undocumented
Method tablespace​_sql Return the SQL that will be used in a query to define the tablespace.
Method time​_trunc​_sql Given a lookup_type of 'hour', 'minute' or 'second', return the SQL that truncates the given time or datetime field field_name to a time object with only the given specificity.
Method unification​_cast​_sql Given a field instance, return the SQL that casts the result of a union to that type. The resulting string should contain a '%s' placeholder for the expression being cast.
Class Variable cast​_char​_field​_without​_max​_length Undocumented
Class Variable cast​_data​_types Undocumented
Class Variable explain​_prefix Undocumented

Inherited from BaseDatabaseOperations (via DatabaseOperations):

Constant CURRENT​_ROW Undocumented
Constant FOLLOWING Undocumented
Constant PRECEDING Undocumented
Constant UNBOUNDED​_FOLLOWING Undocumented
Constant UNBOUNDED​_PRECEDING Undocumented
Method __init__ Undocumented
Method ​_get​_limit​_offset​_params Undocumented
Method adapt​_unknown​_value Transform a value to something compatible with the backend driver.
Method autoinc​_sql Return any SQL needed to support auto-incrementing primary keys, or None if no SQL is necessary.
Method binary​_placeholder​_sql Some backends require special syntax to insert binary content (MySQL for example uses '_binary %s').
Method bulk​_batch​_size Return the maximum allowed batch size for the backend. The fields are the fields going to be inserted in the batch, the objs contains all the objects to be inserted.
Method cache​_key​_culling​_sql Return an SQL query that retrieves the first cache key greater than the n smallest.
Method check​_expression​_support Check that the backend supports the provided expression.
Method combine​_duration​_expression Undocumented
Method combine​_expression No summary
Method compiler Return the SQLCompiler class corresponding to the given name, in the namespace corresponding to the compiler_module attribute on this backend.
Method conditional​_expression​_supported​_in​_where​_clause Return True, if the conditional expression is supported in the WHERE clause.
Method convert​_durationfield​_value Undocumented
Method end​_transaction​_sql Return the SQL statement required to end a transaction.
Method execute​_sql​_flush Execute a list of SQL statements to flush the database.
Method fetch​_returned​_insert​_columns Given a cursor object that has just performed an INSERT...RETURNING statement into a table, return the newly created data.
Method field​_cast​_sql No summary
Method for​_update​_sql Return the FOR UPDATE SQL clause to lock rows for an update operation.
Method force​_no​_ordering Return a list used in the "ORDER BY" clause to force no ordering at all. Return an empty list to include nothing in the ordering.
Method get​_db​_converters Return a list of functions needed to convert field data.
Method insert​_statement Undocumented
Method integer​_field​_range Given an integer field internal type (e.g. 'PositiveIntegerField'), return a tuple of the (min_value, max_value) form representing the range of the column type bound to the field.
Method last​_insert​_id Given a cursor object that has just performed an INSERT statement into a table that has an auto-incrementing ID, return the newly created ID.
Method limit​_offset​_sql Return LIMIT/OFFSET SQL clause.
Method max​_in​_list​_size Return the maximum number of items that can be passed in a single 'IN' list condition, or None if the backend does not impose a limit.
Method modify​_insert​_params Allow modification of insert parameters. Needed for Oracle Spatial backend due to #10888.
Method pk​_default​_value Return the value to use during an INSERT statement to specify that the field should use its default value.
Method prep​_for​_like​_query Prepare a value for use in a LIKE query.
Method process​_clob Return the value of a CLOB column, for backends that return a locator object that requires additional processing.
Method regex​_lookup Return the string to use in a query when performing regular expression lookups (using "regex" or "iregex"). It should contain a '%s' placeholder for the column being searched against.
Method savepoint​_commit​_sql Return the SQL for committing the given savepoint.
Method savepoint​_create​_sql Return the SQL for starting a new savepoint. Only required if the "uses_savepoints" feature is True. The "sid" parameter is a string for the savepoint id.
Method savepoint​_rollback​_sql Return the SQL for rolling back the given savepoint.
Method start​_transaction​_sql Return the SQL statement required to start a transaction.
Method time​_extract​_sql Given a lookup_type of 'hour', 'minute', or 'second', return the SQL that extracts a value from the given time field field_name.
Method validate​_autopk​_value Certain backends do not accept some values for "serial" fields (for example zero in MySQL). Raise a ValueError if the value is invalid, otherwise return the validated value.
Method window​_frame​_end Undocumented
Method window​_frame​_range​_start​_end Undocumented
Method window​_frame​_rows​_start​_end Return SQL for start and end points in an OVER clause window frame.
Method window​_frame​_start Undocumented
Method year​_lookup​_bounds​_for​_date​_field Return a two-elements list with the lower and upper bound to be used with a BETWEEN operator to query a DateField value using a year lookup.
Method year​_lookup​_bounds​_for​_datetime​_field Return a two-elements list with the lower and upper bound to be used with a BETWEEN operator to query a DateTimeField value using a year lookup.
Class Variable compiler​_module Undocumented
Class Variable integer​_field​_ranges Undocumented
Class Variable set​_operators Undocumented
Instance Variable ​_cache Undocumented
Instance Variable connection Undocumented
@staticmethod
def _normalize_distance_lookup_arg(arg):

Undocumented

def _get_postgis_func(self, func):
Helper routine for calling PostGIS functions and returning their result.
def convert_extent(self, box):
Return a 4-tuple extent for the Extent aggregate by converting the bounding box text returned by PostGIS (box argument), for example: "BOX(-90.0 30.0, -85.0 40.0)".
def convert_extent3d(self, box3d):
Return a 6-tuple extent for the Extent3D aggregate by converting the 3d bounding-box text returned by PostGIS (box3d argument), for example: "BOX3D(-90.0 30.0 1, -85.0 40.0 2)".
def distance_expr_for_lookup(self, lhs, rhs, **kwargs):
def geo_db_type(self, f):
Return the database field type for the given spatial field.
def get_area_att_for_field(self, field):
def get_distance(self, f, dist_val, lookup_type):

Retrieve the distance parameters for the given geometry field, distance lookup value, and the distance lookup type.

This is the most complex implementation of the spatial backends due to what is supported on geodetic geometry columns vs. what's available on projected geometry columns. In addition, it has to take into account the geography column type.

def get_geom_placeholder(self, f, value, compiler):
Provide a proper substitution value for Geometries or rasters that are not in the SRID of the field. Specifically, this routine will substitute in the ST_Transform() function call.
def get_geometry_converter(self, expression):
def parse_raster(self, value):
Convert a PostGIS HEX String into a dict readable by GDALRaster.
def postgis_full_version(self):
Return PostGIS version number and compile-time options.
def postgis_geos_version(self):
Return the version of the GEOS library used with PostGIS.
def postgis_lib_version(self):
Return the version number of the PostGIS library used with PostgreSQL.
def postgis_proj_version(self):
Return the version of the PROJ library used with PostGIS.
def postgis_version(self):
Return PostGIS version number and compile-time options.
def postgis_version_tuple(self):
Return the PostGIS version as a tuple (version string, major, minor, subminor).
def proj_version_tuple(self):
Return the version of PROJ used by PostGIS as a tuple of the major, minor, and subminor release numbers.
def spatial_aggregate_name(self, agg_name):
collect =

Undocumented

extent =

Undocumented

extent3d =

Undocumented

gis_operators =

Undocumented

length3d =

Undocumented

makeline =

Undocumented

name: str =

Undocumented

perimeter3d =

Undocumented

unionagg =

Undocumented

@cached_property
spatial_version =
Determine the version of the PostGIS library.