(self)
| 1195 | ) |
| 1196 | |
| 1197 | def test_deep_options(self): |
| 1198 | users, items, order_items, Order, Item, User, orders = ( |
| 1199 | self.tables.users, |
| 1200 | self.tables.items, |
| 1201 | self.tables.order_items, |
| 1202 | self.classes.Order, |
| 1203 | self.classes.Item, |
| 1204 | self.classes.User, |
| 1205 | self.tables.orders, |
| 1206 | ) |
| 1207 | |
| 1208 | self.mapper_registry.map_imperatively( |
| 1209 | Item, |
| 1210 | items, |
| 1211 | properties=dict(description=deferred(items.c.description)), |
| 1212 | ) |
| 1213 | self.mapper_registry.map_imperatively( |
| 1214 | Order, |
| 1215 | orders, |
| 1216 | properties=dict(items=relationship(Item, secondary=order_items)), |
| 1217 | ) |
| 1218 | self.mapper_registry.map_imperatively( |
| 1219 | User, |
| 1220 | users, |
| 1221 | properties=dict(orders=relationship(Order, order_by=orders.c.id)), |
| 1222 | ) |
| 1223 | |
| 1224 | sess = fixture_session() |
| 1225 | q = sess.query(User).order_by(User.id) |
| 1226 | result = q.all() |
| 1227 | item = result[0].orders[1].items[1] |
| 1228 | |
| 1229 | def go(): |
| 1230 | eq_(item.description, "item 4") |
| 1231 | |
| 1232 | self.sql_count_(1, go) |
| 1233 | eq_(item.description, "item 4") |
| 1234 | |
| 1235 | sess.expunge_all() |
| 1236 | result = q.options( |
| 1237 | defaultload(User.orders) |
| 1238 | .defaultload(Order.items) |
| 1239 | .undefer(Item.description) |
| 1240 | ).all() |
| 1241 | item = result[0].orders[1].items[1] |
| 1242 | |
| 1243 | def go(): |
| 1244 | eq_(item.description, "item 4") |
| 1245 | |
| 1246 | self.sql_count_(0, go) |
| 1247 | eq_(item.description, "item 4") |
| 1248 | |
| 1249 | @testing.combinations( |
| 1250 | lazyload, joinedload, subqueryload, selectinload, immediateload |
nothing calls this directly
no test coverage detected