|
123456789101112131415161718192021222324252627 |
- """
- A collection of utility routines and classes used by the spatial
- backends.
- """
-
-
- class SpatialOperator:
- """
- Class encapsulating the behavior specific to a GIS operation (used by lookups).
- """
- sql_template = None
-
- def __init__(self, op=None, func=None):
- self.op = op
- self.func = func
-
- @property
- def default_template(self):
- if self.func:
- return '%(func)s(%(lhs)s, %(rhs)s)'
- else:
- return '%(lhs)s %(op)s %(rhs)s'
-
- def as_sql(self, connection, lookup, template_params, sql_params):
- sql_template = self.sql_template or lookup.sql_template or self.default_template
- template_params.update({'op': self.op, 'func': self.func})
- return sql_template % template_params, sql_params
|