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

Method test_orderby_related

test/orm/test_selectin_relations.py:509–552  ·  view source on GitHub ↗

A regular mapper select on a single table can order by a relationship to a second table

(self)

Source from the content-addressed store, hash-verified

507 )
508
509 def test_orderby_related(self):
510 """A regular mapper select on a single table can
511 order by a relationship to a second table"""
512
513 Address, addresses, users, User = (
514 self.classes.Address,
515 self.tables.addresses,
516 self.tables.users,
517 self.classes.User,
518 )
519
520 self.mapper_registry.map_imperatively(Address, addresses)
521 self.mapper_registry.map_imperatively(
522 User,
523 users,
524 properties=dict(
525 addresses=relationship(
526 Address, lazy="selectin", order_by=addresses.c.id
527 )
528 ),
529 )
530
531 q = fixture_session().query(User)
532 result = (
533 q.filter(User.id == Address.user_id)
534 .order_by(Address.email_address)
535 .all()
536 )
537
538 eq_(
539 [
540 User(
541 id=8,
542 addresses=[
543 Address(id=2, email_address="ed@wood.com"),
544 Address(id=3, email_address="ed@bettyboop.com"),
545 Address(id=4, email_address="ed@lala.com"),
546 ],
547 ),
548 User(id=9, addresses=[Address(id=5)]),
549 User(id=7, addresses=[Address(id=1)]),
550 ],
551 result,
552 )
553
554 def test_orderby_desc(self):
555 Address, addresses, users, User = (

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
order_byMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected