MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_deep_options_2

Method test_deep_options_2

test/orm/test_eager_relations.py:6778–6813  ·  view source on GitHub ↗

test (joined|subquery)load_all() options

(self)

Source from the content-addressed store, hash-verified

6776 self.assert_sql_count(testing.db, go, 3)
6777
6778 def test_deep_options_2(self):
6779 """test (joined|subquery)load_all() options"""
6780
6781 User, Order, Item = self.classes("User", "Order", "Item")
6782
6783 sess = fixture_session()
6784
6785 result = (
6786 sess.query(User)
6787 .order_by(User.id)
6788 .options(
6789 sa.orm.joinedload(User.orders)
6790 .joinedload(Order.items)
6791 .joinedload(Item.keywords)
6792 )
6793 ).all()
6794
6795 def go():
6796 result[0].orders[1].items[0].keywords[1]
6797
6798 self.sql_count_(0, go)
6799
6800 sess = fixture_session()
6801
6802 result = (
6803 sess.query(User).options(
6804 sa.orm.subqueryload(User.orders)
6805 .subqueryload(Order.items)
6806 .subqueryload(Item.keywords)
6807 )
6808 ).all()
6809
6810 def go():
6811 result[0].orders[1].items[0].keywords[1]
6812
6813 self.sql_count_(0, go)
6814
6815 def test_deep_options_4(self):
6816 User, Order = (

Callers

nothing calls this directly

Calls 8

fixture_sessionFunction · 0.90
joinedloadMethod · 0.80
sql_count_Method · 0.80
subqueryloadMethod · 0.80
allMethod · 0.45
optionsMethod · 0.45
order_byMethod · 0.45
queryMethod · 0.45

Tested by

no test coverage detected