Eager loading with two relationships simultaneously, from the same table, using aliases.
(self)
| 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, |
nothing calls this directly
no test coverage detected