MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_double_same_mappers

Method test_double_same_mappers

test/orm/test_eager_relations.py:1113–1181  ·  view source on GitHub ↗

Eager loading with two relationships simultaneously, from the same table, using aliases.

(self)

Source from the content-addressed store, hash-verified

1111 self._run_double_test()
1112
1113 def test_double_same_mappers(self):
1114 """Eager loading with two relationships simultaneously,
1115 from the same table, using aliases."""
1116
1117 (
1118 addresses,
1119 items,
1120 order_items,
1121 orders,
1122 Item,
1123 User,
1124 Address,
1125 Order,
1126 users,
1127 ) = (
1128 self.tables.addresses,
1129 self.tables.items,
1130 self.tables.order_items,
1131 self.tables.orders,
1132 self.classes.Item,
1133 self.classes.User,
1134 self.classes.Address,
1135 self.classes.Order,
1136 self.tables.users,
1137 )
1138
1139 self.mapper_registry.map_imperatively(Address, addresses)
1140 self.mapper_registry.map_imperatively(
1141 Order,
1142 orders,
1143 properties={
1144 "items": relationship(
1145 Item,
1146 secondary=order_items,
1147 lazy="joined",
1148 order_by=items.c.id,
1149 )
1150 },
1151 )
1152 self.mapper_registry.map_imperatively(Item, items)
1153 self.mapper_registry.map_imperatively(
1154 User,
1155 users,
1156 properties=dict(
1157 addresses=relationship(
1158 Address, lazy="joined", order_by=addresses.c.id
1159 ),
1160 open_orders=relationship(
1161 Order,
1162 primaryjoin=sa.and_(
1163 orders.c.isopen == 1, users.c.id == orders.c.user_id
1164 ),
1165 lazy="joined",
1166 order_by=orders.c.id,
1167 viewonly=True,
1168 ),
1169 closed_orders=relationship(
1170 Order,

Callers

nothing calls this directly

Calls 4

_run_double_testMethod · 0.95
relationshipFunction · 0.90
map_imperativelyMethod · 0.80
and_Method · 0.45

Tested by

no test coverage detected