MCPcopy Index your code
hub / github.com/sqlalchemy/sqlalchemy / test_aliased_multi_mappers

Method test_aliased_multi_mappers

test/orm/test_froms.py:2491–2527  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2489 sess.expunge_all()
2490
2491 def test_aliased_multi_mappers(self):
2492 User, addresses, users, Address = (
2493 self.classes.User,
2494 self.tables.addresses,
2495 self.tables.users,
2496 self.classes.Address,
2497 )
2498
2499 sess = fixture_session()
2500
2501 user7, user8, user9, user10 = sess.query(User).all()
2502 address1, address2, address3, address4, address5 = sess.query(
2503 Address
2504 ).all()
2505
2506 expected = [
2507 (user7, address1),
2508 (user8, address2),
2509 (user8, address3),
2510 (user8, address4),
2511 (user9, address5),
2512 (user10, None),
2513 ]
2514
2515 adalias = addresses.alias("adalias")
2516 uaj = users.outerjoin(adalias)
2517 ua = aliased(User, uaj)
2518 q = sess.query(ua)
2519 q = q.add_entity(Address, alias=adalias)
2520 result = q.order_by(User.id, adalias.c.id).all()
2521 assert result == expected
2522
2523 sess.expunge_all()
2524
2525 q = sess.query(ua).add_entity(Address, alias=adalias)
2526 result = q.filter(adalias.c.email_address == "ed@bettyboop.com").all()
2527 assert result == [(user8, address3)]
2528
2529 def test_with_entities(self):
2530 User, Address = self.classes.User, self.classes.Address

Callers

nothing calls this directly

Calls 10

fixture_sessionFunction · 0.90
aliasedFunction · 0.90
add_entityMethod · 0.80
allMethod · 0.45
queryMethod · 0.45
aliasMethod · 0.45
outerjoinMethod · 0.45
order_byMethod · 0.45
expunge_allMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected