MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_group_by_only

Method test_group_by_only

test/orm/test_eager_relations.py:1400–1438  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1398 self.assert_sql_count(testing.db, go, 1)
1399
1400 def test_group_by_only(self):
1401 # like distinct(), a group_by() has a similar effect so the
1402 # joined eager load needs to subquery for this as well
1403 users, Address, addresses, User = (
1404 self.tables.users,
1405 self.classes.Address,
1406 self.tables.addresses,
1407 self.classes.User,
1408 )
1409
1410 self.mapper_registry.map_imperatively(
1411 User,
1412 users,
1413 properties={
1414 "addresses": relationship(
1415 self.mapper_registry.map_imperatively(Address, addresses),
1416 lazy="joined",
1417 order_by=addresses.c.email_address,
1418 )
1419 },
1420 )
1421
1422 q = fixture_session().query(User)
1423 eq_(
1424 [
1425 User(id=7, addresses=[Address(id=1)]),
1426 User(
1427 id=8,
1428 addresses=[
1429 Address(id=3, email_address="ed@bettyboop.com"),
1430 Address(id=4, email_address="ed@lala.com"),
1431 Address(id=2, email_address="ed@wood.com"),
1432 ],
1433 ),
1434 User(id=9, addresses=[Address(id=5)]),
1435 User(id=10, addresses=[]),
1436 ],
1437 q.order_by(User.id).group_by(User).all(), # group by all columns
1438 )
1439
1440 def test_limit_2(self):
1441 keywords, items, item_keywords, Keyword, Item = (

Callers

nothing calls this directly

Calls 10

relationshipFunction · 0.90
fixture_sessionFunction · 0.90
eq_Function · 0.90
map_imperativelyMethod · 0.80
UserClass · 0.70
AddressClass · 0.70
queryMethod · 0.45
allMethod · 0.45
group_byMethod · 0.45
order_byMethod · 0.45

Tested by

no test coverage detected