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

Method test_aliased_classes_m2m

test/orm/test_joins.py:1492–1530  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1490 )
1491
1492 def test_aliased_classes_m2m(self):
1493 Item, Order = self.classes.Item, self.classes.Order
1494
1495 sess = fixture_session()
1496
1497 order1, order2, order3, order4, order5 = sess.query(Order).all()
1498 item1, item2, item3, item4, item5 = sess.query(Item).all()
1499 expected = [
1500 (order1, item1),
1501 (order1, item2),
1502 (order1, item3),
1503 (order2, item1),
1504 (order2, item2),
1505 (order2, item3),
1506 (order3, item3),
1507 (order3, item4),
1508 (order3, item5),
1509 (order4, item1),
1510 (order4, item5),
1511 (order5, item5),
1512 ]
1513
1514 q = sess.query(Order)
1515 q = (
1516 q.add_entity(Item)
1517 .select_from(join(Order, Item, Order.items))
1518 .order_by(Order.id, Item.id)
1519 )
1520 result = q.all()
1521 eq_(result, expected)
1522
1523 IAlias = aliased(Item)
1524 q = (
1525 sess.query(Order, IAlias)
1526 .select_from(join(Order, IAlias, Order.items))
1527 .filter(IAlias.description == "item 3")
1528 )
1529 result = q.all()
1530 eq_(result, [(order1, item3), (order2, item3), (order3, item3)])
1531
1532 def test_joins_from_adapted_entities(self):
1533 User = self.classes.User

Callers

nothing calls this directly

Calls 10

fixture_sessionFunction · 0.90
joinFunction · 0.90
eq_Function · 0.90
aliasedFunction · 0.90
add_entityMethod · 0.80
allMethod · 0.45
queryMethod · 0.45
order_byMethod · 0.45
select_fromMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected