class documentation

Produce boolean, comparison, and other operators for :class:`.ColumnProperty` attributes. See the documentation for :class:`.PropComparator` for a brief overview. .. seealso:: :class:`.PropComparator` :class:`.ColumnOperators` :ref:`types_operators` :attr:`.TypeEngine.comparator_factory`

Method __clause_element__ Undocumented
Method operate Operate on an argument.
Method reverse_operate Reverse operate on an argument.
Class Variable __slots__ Undocumented
Class Variable expressions The full sequence of columns referenced by this attribute, adjusted for any aliasing in progress.
Class Variable prop Undocumented
Method _fallback_getattr proxy attribute access down to the mapped column.
Method _memoized_attr_expressions The full sequence of columns referenced by this attribute, adjusted for any aliasing in progress.
Method _memoized_attr_info The .info dictionary for this attribute.
Method _memoized_method___clause_element__ Undocumented
Method _orm_annotate_column annotate and possibly adapt a column to be returned as the mapped-attribute exposed version of the column.

Inherited from MemoizedSlots:

Method __getattr__ Undocumented

Inherited from PropComparator (via MemoizedSlots):

Method __init__ Undocumented
Method adapt_to_entity Return a copy of this PropComparator which will use the given :class:`.AliasedInsp` to produce corresponding expressions.
Method and_ Add additional criteria to the ON clause that's represented by this relationship attribute.
Method any Return a SQL expression representing true if this element references a member which meets the given criterion.
Method has Return a SQL expression representing true if this element references a member which meets the given criterion.
Method of_type Redefine this object in terms of a polymorphic subclass, :func:`_orm.with_polymorphic` construct, or :func:`_orm.aliased` construct.
Class Variable __visit_name__ Undocumented
Class Variable any_op Undocumented
Class Variable has_op Undocumented
Class Variable of_type_op Undocumented
Property adapter Produce a callable that adapts column expressions to suit an aliased version of this comparator.
Property info Undocumented
Property property Return the :class:`.MapperProperty` associated with this :class:`.PropComparator`.
Static Method _any_op Undocumented
Static Method _has_op Undocumented
Static Method _of_type_op Undocumented
Method _bulk_update_tuples Receive a SQL expression that represents a value in the SET clause of an UPDATE statement.
Method _criterion_exists Undocumented
Instance Variable _adapt_to_entity Undocumented
Instance Variable _parententity Undocumented
Property _parentmapper legacy; this is renamed to _parententity to be compatible with QueryableAttribute.

Inherited from SQLCoreOperations (via MemoizedSlots, PropComparator, SQLORMOperations):

Method __add__ Implement the ``+`` operator.
Method __and__ Implement the ``&`` operator.
Method __contains__ Undocumented
Method __eq__ Implement the ``==`` operator.
Method __floordiv__ Implement the ``//`` operator.
Method __ge__ Implement the ``>=`` operator.
Method __getitem__ Implement the [] operator.
Method __gt__ Implement the ``>`` operator.
Method __invert__ Implement the ``~`` operator.
Method __le__ Implement the ``<=`` operator.
Method __lt__ Implement the ``<`` operator.
Method __mod__ Implement the ``%`` operator.
Method __mul__ Implement the ``*`` operator.
Method __ne__ Implement the ``!=`` operator.
Method __neg__ Implement the ``-`` operator.
Method __or__ Implement the ``|`` operator.
Method __radd__ Implement the ``+`` operator in reverse.
Method __rfloordiv__ Implement the ``//`` operator in reverse.
Method __rmod__ Implement the ``%`` operator in reverse.
Method __rmul__ Implement the ``*`` operator in reverse.
Method __rsub__ Implement the ``-`` operator in reverse.
Method __rtruediv__ Implement the ``/`` operator in reverse.
Method __sub__ Implement the ``-`` operator.
Method __truediv__ Implement the ``/`` operator.
Method all_ Produce an :func:`_expression.all_` clause against the parent object.
Method any_ Produce an :func:`_expression.any_` clause against the parent object.
Method asc Produce a :func:`_expression.asc` clause against the parent object.
Method between Produce a :func:`_expression.between` clause against the parent object, given the lower and upper range.
Method bool_op Return a custom boolean operator.
Method collate Produce a :func:`_expression.collate` clause against the parent object, given the collation string.
Method concat Implement the 'concat' operator.
Method contains Implement the 'contains' operator.
Method desc Produce a :func:`_expression.desc` clause against the parent object.
Method distinct Produce a :func:`_expression.distinct` clause against the parent object.
Method endswith Implement the 'endswith' operator.
Method ilike Implement the ``ilike`` operator, e.g. case insensitive LIKE.
Method in_ Implement the ``in`` operator.
Method is_ Implement the ``IS`` operator.
Method is_distinct_from Implement the ``IS DISTINCT FROM`` operator.
Method is_not Implement the ``IS NOT`` operator.
Method is_not_distinct_from Implement the ``IS NOT DISTINCT FROM`` operator.
Method isnot Undocumented
Method like Implement the ``like`` operator.
Method match Implements a database-specific 'match' operator.
Method not_ilike implement the ``NOT ILIKE`` operator.
Method not_in implement the ``NOT IN`` operator.
Method not_like implement the ``NOT LIKE`` operator.
Method notilike Undocumented
Method notin_ Undocumented
Method notlike Undocumented
Method nulls_first Produce a :func:`_expression.nulls_first` clause against the parent object.
Method nulls_last Produce a :func:`_expression.nulls_last` clause against the parent object.
Method nullsfirst Undocumented
Method nullslast Undocumented
Method op Produce a generic operator function.
Method regexp_match Implements a database-specific 'regexp match' operator.
Method regexp_replace Implements a database-specific 'regexp replace' operator.
Method startswith Implement the ``startswith`` operator.
Property _propagate_attrs Undocumented

Inherited from ColumnOperators (via MemoizedSlots, PropComparator, SQLORMOperations, SQLCoreOperations):

Method __lshift__ implement the << operator.
Method __rshift__ implement the >> operator.
Method bitwise_and Produce a bitwise AND operation, typically via the ``&`` operator.
Method bitwise_lshift Produce a bitwise LSHIFT operation, typically via the ``<<`` operator.
Method bitwise_not Produce a bitwise NOT operation, typically via the ``~`` operator.
Method bitwise_or Produce a bitwise OR operation, typically via the ``|`` operator.
Method bitwise_rshift Produce a bitwise RSHIFT operation, typically via the ``>>`` operator.
Method bitwise_xor Produce a bitwise XOR operation, typically via the ``^`` operator, or ``#`` for PostgreSQL.
Method icontains Implement the ``icontains`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.contains`.
Method iendswith Implement the ``iendswith`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.endswith`.
Method isnot_distinct_from Undocumented
Method istartswith Implement the ``istartswith`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.startswith`.
Class Variable timetuple Hack, allows datetime objects to be compared on the LHS.
Method _rconcat Implement an 'rconcat' operator.

Inherited from TypingOnly (via MemoizedSlots, PropComparator, SQLORMOperations, SQLCoreOperations, ColumnOperators, Operators):

Method __init_subclass__ Undocumented
def operate(self, op: OperatorType, *other: Any, **kwargs: Any) -> ColumnElement[Any]: (source)

Operate on an argument. This is the lowest level of operation, raises :class:`NotImplementedError` by default. Overriding this on a subclass can allow common behavior to be applied to all operations. For example, overriding :class:`.ColumnOperators` to apply ``func.lower()`` to the left and right side:: class MyComparator(ColumnOperators): def operate(self, op, other, **kwargs): return op(func.lower(self), func.lower(other), **kwargs) :param op: Operator callable. :param \*other: the 'other' side of the operation. Will be a single scalar for most operations. :param \**kwargs: modifiers. These may be passed by special operators such as :meth:`ColumnOperators.contains`.

def reverse_operate(self, op: OperatorType, other: Any, **kwargs: Any) -> ColumnElement[Any]: (source)

Reverse operate on an argument. Usage is the same as :meth:`operate`.

The full sequence of columns referenced by this attribute, adjusted for any aliasing in progress. .. versionadded:: 1.3.17 .. seealso:: :ref:`maptojoin` - usage example

def _fallback_getattr(self, key: str) -> Any: (source)

proxy attribute access down to the mapped column. this allows user-defined comparison methods to be accessed.

def _memoized_attr_expressions(self) -> Sequence[NamedColumn[Any]]: (source)

The full sequence of columns referenced by this attribute, adjusted for any aliasing in progress. .. versionadded:: 1.3.17

def _memoized_attr_info(self) -> _InfoType: (source)

The .info dictionary for this attribute.

def _memoized_method___clause_element__(self) -> NamedColumn[_PT]: (source)

Undocumented

def _orm_annotate_column(self, column: _NC) -> _NC: (source)

annotate and possibly adapt a column to be returned as the mapped-attribute exposed version of the column. The column in this context needs to act as much like the column in an ORM mapped context as possible, so includes annotations to give hints to various ORM functions as to the source entity of this column. It also adapts it to the mapper's with_polymorphic selectable if one is present.