MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / __init__

Method __init__

lib/sqlalchemy/orm/relationships.py:2366–2416  ·  view source on GitHub ↗
(
        self,
        parent_persist_selectable: 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 from the content-addressed store, hash-verified

2364 _local_remote_pairs: Optional[_ColumnPairs]
2365
2366 def __init__(
2367 self,
2368 parent_persist_selectable: FromClause,
2369 child_persist_selectable: FromClause,
2370 parent_local_selectable: FromClause,
2371 child_local_selectable: FromClause,
2372 *,
2373 primaryjoin: Optional[ColumnElement[bool]] = None,
2374 secondary: Optional[FromClause] = None,
2375 secondaryjoin: Optional[ColumnElement[bool]] = None,
2376 parent_equivalents: Optional[_EquivalentColumnMap] = None,
2377 child_equivalents: Optional[_EquivalentColumnMap] = None,
2378 consider_as_foreign_keys: Any = None,
2379 local_remote_pairs: Optional[_ColumnPairs] = None,
2380 remote_side: Any = None,
2381 self_referential: Any = False,
2382 prop: RelationshipProperty[Any],
2383 support_sync: bool = True,
2384 can_be_synced_fn: Callable[..., bool] = lambda *c: True,
2385 ):
2386 self.parent_persist_selectable = parent_persist_selectable
2387 self.parent_local_selectable = parent_local_selectable
2388 self.child_persist_selectable = child_persist_selectable
2389 self.child_local_selectable = child_local_selectable
2390 self.parent_equivalents = parent_equivalents
2391 self.child_equivalents = child_equivalents
2392 self.primaryjoin_initial = primaryjoin
2393 self.secondaryjoin = secondaryjoin
2394 self.secondary = secondary
2395 self.consider_as_foreign_keys = consider_as_foreign_keys
2396 self._local_remote_pairs = local_remote_pairs
2397 self._remote_side = remote_side
2398 self.prop = prop
2399 self.self_referential = self_referential
2400 self.support_sync = support_sync
2401 self.can_be_synced_fn = can_be_synced_fn
2402
2403 self._determine_joins()
2404 assert self.primaryjoin is not None
2405
2406 self._annotate_fks()
2407 self._annotate_remote()
2408 self._annotate_local()
2409 self._annotate_parentmapper()
2410 self._setup_pairs()
2411 self._check_foreign_cols(self.primaryjoin, True)
2412 if self.secondaryjoin is not None:
2413 self._check_foreign_cols(self.secondaryjoin, False)
2414 self._determine_direction()
2415 self._check_remote_side()
2416 self._log_joins()
2417
2418 def _log_joins(self) -> None:
2419 log = self.prop.logger

Callers 1

__init__Method · 0.45

Calls 10

_determine_joinsMethod · 0.95
_annotate_fksMethod · 0.95
_annotate_remoteMethod · 0.95
_annotate_localMethod · 0.95
_setup_pairsMethod · 0.95
_check_foreign_colsMethod · 0.95
_determine_directionMethod · 0.95
_check_remote_sideMethod · 0.95
_log_joinsMethod · 0.95

Tested by

no test coverage detected