MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_double_w_ac

Method test_double_w_ac

test/orm/test_eager_relations.py:971–1045  ·  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

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",

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected