MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_synonym_options

Method test_synonym_options

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

Source from the content-addressed store, hash-verified

1531
1532class MapperOptionsTest(_fixtures.FixtureTest):
1533 def test_synonym_options(self):
1534 Address, addresses, users, User = (
1535 self.classes.Address,
1536 self.tables.addresses,
1537 self.tables.users,
1538 self.classes.User,
1539 )
1540
1541 self.mapper_registry.map_imperatively(
1542 User,
1543 users,
1544 properties=dict(
1545 addresses=relationship(
1546 self.mapper_registry.map_imperatively(Address, addresses),
1547 lazy="select",
1548 order_by=addresses.c.id,
1549 ),
1550 adlist=synonym("addresses"),
1551 ),
1552 )
1553
1554 def go():
1555 sess = fixture_session()
1556 u = (
1557 sess.query(User)
1558 .order_by(User.id)
1559 .options(sa.orm.joinedload(User.adlist))
1560 .filter_by(name="jack")
1561 ).one()
1562 eq_(u.adlist, [self.static.user_address_result[0].addresses[0]])
1563
1564 self.assert_sql_count(testing.db, go, 1)
1565
1566 def test_eager_options(self):
1567 """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