class JoinCondition: (source)
Undocumented
Method | __init__ |
Undocumented |
Method | create |
Undocumented |
Method | join |
Given a source and destination selectable, create a join between them. |
Instance Variable | can |
Undocumented |
Instance Variable | child |
Undocumented |
Instance Variable | child |
Undocumented |
Instance Variable | child |
Undocumented |
Instance Variable | consider |
Undocumented |
Instance Variable | direction |
Undocumented |
Instance Variable | local |
Undocumented |
Instance Variable | parent |
Undocumented |
Instance Variable | parent |
Undocumented |
Instance Variable | parent |
Undocumented |
Instance Variable | primaryjoin |
Undocumented |
Instance Variable | primaryjoin |
Undocumented |
Instance Variable | prop |
Undocumented |
Instance Variable | secondary |
Undocumented |
Instance Variable | secondary |
Undocumented |
Instance Variable | secondaryjoin |
Undocumented |
Instance Variable | self |
Undocumented |
Instance Variable | support |
Undocumented |
Instance Variable | synchronize |
Undocumented |
Property | foreign |
Undocumented |
Property | local |
Undocumented |
Property | primaryjoin |
Undocumented |
Property | primaryjoin |
Return the primaryjoin condition suitable for the "reverse" direction. |
Property | remote |
Undocumented |
Property | secondaryjoin |
Undocumented |
Method | _annotate |
Annotate the primaryjoin and secondaryjoin structures with 'foreign' annotations marking columns considered as foreign. |
Method | _annotate |
Undocumented |
Method | _annotate |
Annotate the primaryjoin and secondaryjoin structures with 'local' annotations. |
Method | _annotate |
Undocumented |
Method | _annotate |
Undocumented |
Method | _annotate |
Annotate the primaryjoin and secondaryjoin structures with 'remote' annotations marking columns considered as part of the 'remote' side. |
Method | _annotate |
annotate 'remote' in primaryjoin, secondaryjoin when the parent/child tables are entirely separate. |
Method | _annotate |
annotate 'remote' in primaryjoin, secondaryjoin when the 'remote_side' or '_local_remote_pairs' arguments are used. |
Method | _annotate |
annotate 'remote' in primaryjoin, secondaryjoin when 'secondary' is present. |
Method | _annotate |
annotate 'remote' in primaryjoin, secondaryjoin when the parent/child tables have some set of tables in common, though is not a fully self-referential relationship. |
Method | _annotate |
annotate 'remote' in primaryjoin, secondaryjoin when the relationship is detected as self-referential. |
Method | _check |
Check the foreign key columns collected and emit error messages. |
Method | _check |
Undocumented |
Method | _deannotate |
provide deannotation for the various lists of pairs, so that using them in hashes doesn't incur high-overhead __eq__() comparisons against original columns mapped. |
Method | _determine |
Determine if this relationship is one to many, many to one, many to many. |
Method | _determine |
Determine the 'primaryjoin' and 'secondaryjoin' attributes, if not passed to the constructor already. |
Method | _gather |
Undocumented |
Method | _gather |
Undocumented |
Method | _has |
Undocumented |
Method | _log |
Undocumented |
Method | _refers |
Return True if the join condition contains column comparisons where both columns are in both tables. |
Method | _sanitize |
remove the parententity annotation from our join conditions which can leak in here based on some declarative patterns and maybe others. |
Method | _setup |
Undocumented |
Method | _tables |
Return True if parent/child tables have some overlap. |
Method | _warn |
Undocumented |
Method | _warn |
Undocumented |
Class Variable | _track |
Undocumented |
Instance Variable | _local |
Undocumented |
Instance Variable | _remote |
Undocumented |
Property | _has |
Undocumented |
Property | _has |
Undocumented |
FromClause
, child_persist_selectable: FromClause
, parent_local_selectable: FromClause
, child_local_selectable: FromClause
, *, primaryjoin: Optional[ ColumnElement[ bool]]
= None, secondary: Optional[ FromClause]
= None, secondaryjoin: Optional[ ColumnElement[ bool]]
= None, parent_equivalents: Optional[ _EquivalentColumnMap]
= None, child_equivalents: Optional[ _EquivalentColumnMap]
= None, consider_as_foreign_keys: Any
= None, local_remote_pairs: Optional[ _ColumnPairs]
= None, remote_side: Any
= None, self_referential: Any
= False, prop: RelationshipProperty[ Any]
, support_sync: bool
= True, can_be_synced_fn: Callable[ ..., bool]
= (lambda *c: True)):
(source)
¶
Undocumented
bool
= False) -> Tuple[ ColumnElement[ bool], Dict[ str, ColumnElement[ Any]], Dict[ ColumnElement[ Any], ColumnElement[ Any]]]
:
(source)
¶
Undocumented
Optional[ FromClause]
, dest_selectable: FromClause
, aliased: bool
, single_crit: Optional[ ColumnElement[ bool]]
= None, extra_criteria: Tuple[ ColumnElement[ bool], ...]
= ()) -> Tuple[ ColumnElement[ bool], Optional[ ColumnElement[ bool]], Optional[ FromClause], Optional[ ClauseAdapter], FromClause]
:
(source)
¶
Given a source and destination selectable, create a join between them. This takes into account aliasing the join clause to reference the appropriate corresponding columns in the target objects, as well as the extra child criterion, equivalent column sets, etc.
Return the primaryjoin condition suitable for the "reverse" direction. If the primaryjoin was delivered here with pre-existing "remote" annotations, the local/remote annotations are reversed. Otherwise, the local/remote annotations are removed.
Annotate the primaryjoin and secondaryjoin structures with 'foreign' annotations marking columns considered as foreign.
Annotate the primaryjoin and secondaryjoin structures with 'local' annotations. This annotates all column elements found simultaneously in the parent table and the join condition that don't have a 'remote' annotation set up from _annotate_remote() or user-defined.
Annotate the primaryjoin and secondaryjoin structures with 'remote' annotations marking columns considered as part of the 'remote' side.
annotate 'remote' in primaryjoin, secondaryjoin when the 'remote_side' or '_local_remote_pairs' arguments are used.
annotate 'remote' in primaryjoin, secondaryjoin when the parent/child tables have some set of tables in common, though is not a fully self-referential relationship.
Callable[ [ ColumnElement[ Any]], bool]
, remote_side_given: bool
):
(source)
¶
annotate 'remote' in primaryjoin, secondaryjoin when the relationship is detected as self-referential.
provide deannotation for the various lists of pairs, so that using them in hashes doesn't incur high-overhead __eq__() comparisons against original columns mapped.
Determine the 'primaryjoin' and 'secondaryjoin' attributes, if not passed to the constructor already. This is based on analysis of the foreign key relationships between the parent and target mapped selectables.
ColumnElement[ Any]
, *annotation: Iterable[ str]
) -> Set[ ColumnElement[ Any]]
:
(source)
¶
Undocumented
Return True if the join condition contains column comparisons where both columns are in both tables.
remove the parententity annotation from our join conditions which can leak in here based on some declarative patterns and maybe others. "parentmapper" is relied upon both by the ORM evaluator as well as the use case in _join_fixture_inh_selfref_w_entity that relies upon it being present, see :ticket:`3364`.
weakref.WeakKeyDictionary[ ColumnElement[ Any], weakref.WeakKeyDictionary[ RelationshipProperty[ Any], ColumnElement[ Any]]]
=
(source)
¶
Undocumented