Eager loading with two relationships simultaneously, from the same table, using aliases.
(self)
| 969 | ) |
| 970 | |
| 971 | def test_double_w_ac(self): |
| 972 | """Eager loading with two relationships simultaneously, |
| 973 | from the same table, using aliases.""" |
| 974 | |
| 975 | ( |
| 976 | users, |
| 977 | orders, |
| 978 | User, |
| 979 | Address, |
| 980 | Order, |
| 981 | addresses, |
| 982 | Item, |
| 983 | items, |
| 984 | order_items, |
| 985 | ) = ( |
| 986 | self.tables.users, |
| 987 | self.tables.orders, |
| 988 | self.classes.User, |
| 989 | self.classes.Address, |
| 990 | self.classes.Order, |
| 991 | self.tables.addresses, |
| 992 | self.classes.Item, |
| 993 | self.tables.items, |
| 994 | self.tables.order_items, |
| 995 | ) |
| 996 | |
| 997 | self.mapper_registry.map_imperatively(Address, addresses) |
| 998 | self.mapper_registry.map_imperatively( |
| 999 | Order, |
| 1000 | orders, |
| 1001 | properties={ |
| 1002 | "items": relationship( |
| 1003 | Item, |
| 1004 | secondary=order_items, |
| 1005 | lazy="joined", |
| 1006 | order_by=items.c.id, |
| 1007 | ) |
| 1008 | }, |
| 1009 | ) |
| 1010 | self.mapper_registry.map_imperatively(Item, items) |
| 1011 | |
| 1012 | open_mapper = aliased(Order, orders) |
| 1013 | closed_mapper = aliased(Order, orders) |
| 1014 | |
| 1015 | self.mapper_registry.map_imperatively( |
| 1016 | User, |
| 1017 | users, |
| 1018 | properties=dict( |
| 1019 | addresses=relationship( |
| 1020 | Address, lazy="joined", order_by=addresses.c.id |
| 1021 | ), |
| 1022 | open_orders=relationship( |
| 1023 | open_mapper, |
| 1024 | primaryjoin=sa.and_( |
| 1025 | open_mapper.isopen == 1, |
| 1026 | users.c.id == open_mapper.user_id, |
| 1027 | ), |
| 1028 | lazy="joined", |
nothing calls this directly
no test coverage detected