MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _init_for_omit_join

Method _init_for_omit_join

lib/sqlalchemy/orm/strategies.py:3032–3054  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3030 self._query_info = self._init_for_join()
3031
3032 def _init_for_omit_join(self):
3033 pk_to_fk = dict(
3034 self.parent_property._join_condition.local_remote_pairs
3035 )
3036 pk_to_fk.update(
3037 (equiv, pk_to_fk[k])
3038 for k in list(pk_to_fk)
3039 for equiv in self.parent._equivalent_columns.get(k, ())
3040 )
3041
3042 pk_cols = fk_cols = [
3043 pk_to_fk[col] for col in self.parent.primary_key if col in pk_to_fk
3044 ]
3045 if len(fk_cols) > 1:
3046 in_expr = sql.tuple_(*fk_cols)
3047 zero_idx = False
3048 else:
3049 in_expr = fk_cols[0]
3050 zero_idx = True
3051
3052 return self.query_info(
3053 False, False, in_expr, pk_cols, zero_idx, len(pk_cols), None
3054 )
3055
3056 def _init_for_omit_join_m2o(self):
3057 pk_cols = self.mapper.primary_key

Callers 1

__init__Method · 0.95

Calls 2

updateMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected