class AssociationProxyInstance(SQLORMOperations[
Known subclasses: sqlalchemy.ext.associationproxy.AmbiguousAssociationProxyInstance
, sqlalchemy.ext.associationproxy.ColumnAssociationProxyInstance
, sqlalchemy.ext.associationproxy.ObjectAssociationProxyInstance
A per-class object that serves class- and object-specific results. This is used by :class:`.AssociationProxy` when it is invoked in terms of a specific class or instance of a class, i.e. when it is used as a regular Python descriptor. When referring to the :class:`.AssociationProxy` as a normal Python descriptor, the :class:`.AssociationProxyInstance` is the object that actually serves the information. Under normal circumstances, its presence is transparent:: >>> User.keywords.scalar False In the special case that the :class:`.AssociationProxy` object is being accessed directly, in order to get an explicit handle to the :class:`.AssociationProxyInstance`, use the :meth:`.AssociationProxy.for_class` method:: proxy_state = inspect(User).all_orm_descriptors["keywords"].for_class(User) # view if proxy object is scalar or not >>> proxy_state.scalar False .. versionadded:: 1.3
Class Method | for |
Undocumented |
Method | __clause |
Undocumented |
Method | __init__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | any |
Produce a proxied 'any' expression using EXISTS. |
Method | delete |
Undocumented |
Method | get |
Undocumented |
Method | has |
Produce a proxied 'has' expression using EXISTS. |
Method | set |
Undocumented |
Instance Variable | collection |
Undocumented |
Instance Variable | key |
Undocumented |
Instance Variable | owning |
Undocumented |
Instance Variable | parent |
Undocumented |
Instance Variable | target |
The intermediary class handled by this :class:`.AssociationProxyInstance`. |
Instance Variable | target |
Undocumented |
Instance Variable | value |
Undocumented |
Property | attr |
Return a tuple of ``(local_attr, remote_attr)``. |
Property | info |
Undocumented |
Property | local |
The 'local' class attribute referenced by this :class:`.AssociationProxyInstance`. |
Property | remote |
The 'remote' class attribute referenced by this :class:`.AssociationProxyInstance`. |
Property | scalar |
Return ``True`` if this :class:`.AssociationProxyInstance` proxies a scalar relationship on the local side. |
Class Method | _cls |
Undocumented |
Class Method | _construct |
Undocumented |
Method | _criterion |
Undocumented |
Method | _default |
Undocumented |
Method | _get |
Undocumented |
Method | _inflate |
Undocumented |
Method | _initialize |
Undocumented |
Method | _new |
Undocumented |
Method | _set |
Undocumented |
Instance Variable | _scalar |
Undocumented |
Instance Variable | _scalar |
Undocumented |
Property | _comparator |
Undocumented |
Property | _target |
Undocumented |
Property | _unwrap |
Undocumented |
Property | _value |
Undocumented |
Inherited from SQLORMOperations
:
Method | and_ |
Undocumented |
Method | of |
Undocumented |
Class Variable | __slots__ |
Undocumented |
Inherited from SQLCoreOperations
(via 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 |
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 |
Implement the ``IS DISTINCT FROM`` operator. |
Method | is |
Implement the ``IS NOT`` operator. |
Method | is |
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 |
implement the ``NOT ILIKE`` operator. |
Method | not |
implement the ``NOT IN`` operator. |
Method | not |
implement the ``NOT LIKE`` operator. |
Method | notilike |
Undocumented |
Method | notin_ |
Undocumented |
Method | notlike |
Undocumented |
Method | nulls |
Produce a :func:`_expression.nulls_first` clause against the parent object. |
Method | nulls |
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 | operate |
Operate on an argument. |
Method | regexp |
Implements a database-specific 'regexp match' operator. |
Method | regexp |
Implements a database-specific 'regexp replace' operator. |
Method | reverse |
Reverse operate on an argument. |
Method | startswith |
Implement the ``startswith`` operator. |
Property | _propagate |
Undocumented |
Inherited from ColumnOperators
(via SQLORMOperations
, SQLCoreOperations
):
Method | __lshift__ |
implement the << operator. |
Method | __rshift__ |
implement the >> operator. |
Method | bitwise |
Produce a bitwise AND operation, typically via the ``&`` operator. |
Method | bitwise |
Produce a bitwise LSHIFT operation, typically via the ``<<`` operator. |
Method | bitwise |
Produce a bitwise NOT operation, typically via the ``~`` operator. |
Method | bitwise |
Produce a bitwise OR operation, typically via the ``|`` operator. |
Method | bitwise |
Produce a bitwise RSHIFT operation, typically via the ``>>`` operator. |
Method | bitwise |
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 |
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 SQLORMOperations
, SQLCoreOperations
, ColumnOperators
, Operators
):
Method | __init |
Undocumented |
def for_proxy(cls, parent:
AssociationProxy[ _T]
, owning_class: Type[ Any]
, parent_instance: Any
) -> AssociationProxyInstance[ _T]
:
(source)
¶
Undocumented
_AssociationProxyProtocol[ _T]
, owning_class: Type[ Any]
, target_class: Type[ Any]
, value_attr: str
):
(source)
¶
Undocumented
Optional[ _ColumnExpressionArgument[ bool]]
= None, **kwargs: Any
) -> ColumnElement[ bool]
:
(source)
¶
sqlalchemy.orm.base.SQLORMOperations.any
Produce a proxied 'any' expression using EXISTS. This expression will be a composed product using the :meth:`.Relationship.Comparator.any` and/or :meth:`.Relationship.Comparator.has` operators of the underlying proxied attributes.
Optional[ _ColumnExpressionArgument[ bool]]
= None, **kwargs: Any
) -> ColumnElement[ bool]
:
(source)
¶
sqlalchemy.orm.base.SQLORMOperations.has
Produce a proxied 'has' expression using EXISTS. This expression will be a composed product using the :meth:`.Relationship.Comparator.any` and/or :meth:`.Relationship.Comparator.has` operators of the underlying proxied attributes.
The intermediary class handled by this :class:`.AssociationProxyInstance`. Intercepted append/set/assignment events will result in the generation of new instances of this class.
Return a tuple of ``(local_attr, remote_attr)``. This attribute was originally intended to facilitate using the :meth:`_query.Query.join` method to join across the two relationships at once, however this makes use of a deprecated calling style. To use :meth:`_sql.select.join` or :meth:`_orm.Query.join` with an association proxy, the current method is to make use of the :attr:`.AssociationProxyInstance.local_attr` and :attr:`.AssociationProxyInstance.remote_attr` attributes separately:: stmt = ( select(Parent). join(Parent.proxied.local_attr). join(Parent.proxied.remote_attr) ) A future release may seek to provide a more succinct join pattern for association proxy attributes. .. seealso:: :attr:`.AssociationProxyInstance.local_attr` :attr:`.AssociationProxyInstance.remote_attr`
The 'local' class attribute referenced by this :class:`.AssociationProxyInstance`. .. seealso:: :attr:`.AssociationProxyInstance.attr` :attr:`.AssociationProxyInstance.remote_attr`
The 'remote' class attribute referenced by this :class:`.AssociationProxyInstance`. .. seealso:: :attr:`.AssociationProxyInstance.attr` :attr:`.AssociationProxyInstance.local_attr`
Return ``True`` if this :class:`.AssociationProxyInstance` proxies a scalar relationship on the local side.
def _cls_unwrap_target_assoc_proxy(cls, target_class:
Any
, value_attr: str
) -> Optional[ AssociationProxyInstance[ _T]]
:
(source)
¶
Undocumented
def _construct_for_assoc(cls, target_assoc:
Optional[ AssociationProxyInstance[ _T]]
, parent: _AssociationProxyProtocol[ _T]
, owning_class: Type[ Any]
, target_class: Type[ Any]
, value_attr: str
) -> AssociationProxyInstance[ _T]
:
(source)
¶
Undocumented
Optional[ _ColumnExpressionArgument[ bool]]
= None, **kwargs: Any
) -> ColumnElement[ bool]
:
(source)
¶
Undocumented
Any
) -> Tuple[ _GetterProtocol[ Any], _SetterProtocol]
:
(source)
¶
Undocumented
_unwrap_target_assoc_proxy:
Optional[ AssociationProxyInstance[ _T]]
=
(source)
¶
Undocumented