MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / test_synonym_options

Method test_synonym_options

test/orm/test_options.py:1543–1574  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1541
1542class MapperOptionsTest(_fixtures.FixtureTest):
1543 def test_synonym_options(self):
1544 Address, addresses, users, User = (
1545 self.classes.Address,
1546 self.tables.addresses,
1547 self.tables.users,
1548 self.classes.User,
1549 )
1550
1551 self.mapper_registry.map_imperatively(
1552 User,
1553 users,
1554 properties=dict(
1555 addresses=relationship(
1556 self.mapper_registry.map_imperatively(Address, addresses),
1557 lazy="select",
1558 order_by=addresses.c.id,
1559 ),
1560 adlist=synonym("addresses"),
1561 ),
1562 )
1563
1564 def go():
1565 sess = fixture_session()
1566 u = (
1567 sess.query(User)
1568 .order_by(User.id)
1569 .options(sa.orm.joinedload(User.adlist))
1570 .filter_by(name="jack")
1571 ).one()
1572 eq_(u.adlist, [self.static.user_address_result[0].addresses[0]])
1573
1574 self.assert_sql_count(testing.db, go, 1)
1575
1576 def test_eager_options(self):
1577 """A lazy relationship can be upgraded to an eager relationship."""

Callers

nothing calls this directly

Calls 4

relationshipFunction · 0.90
synonymFunction · 0.90
map_imperativelyMethod · 0.80
assert_sql_countMethod · 0.80

Tested by

no test coverage detected