Deferred load with a group
(self)
| 341 | sess.flush() |
| 342 | |
| 343 | def test_group(self): |
| 344 | """Deferred load with a group""" |
| 345 | |
| 346 | orders, Order = self.tables.orders, self.classes.Order |
| 347 | |
| 348 | self.mapper_registry.map_imperatively( |
| 349 | Order, |
| 350 | orders, |
| 351 | properties=util.OrderedDict( |
| 352 | [ |
| 353 | ("userident", deferred(orders.c.user_id, group="primary")), |
| 354 | ( |
| 355 | "addrident", |
| 356 | deferred(orders.c.address_id, group="primary"), |
| 357 | ), |
| 358 | ( |
| 359 | "description", |
| 360 | deferred(orders.c.description, group="primary"), |
| 361 | ), |
| 362 | ("opened", deferred(orders.c.isopen, group="primary")), |
| 363 | ] |
| 364 | ), |
| 365 | ) |
| 366 | |
| 367 | sess = fixture_session() |
| 368 | q = sess.query(Order).order_by(Order.id) |
| 369 | |
| 370 | def go(): |
| 371 | result = q.all() |
| 372 | o2 = result[2] |
| 373 | eq_(o2.opened, 1) |
| 374 | eq_(o2.userident, 7) |
| 375 | eq_(o2.description, "order 3") |
| 376 | |
| 377 | self.sql_eq_( |
| 378 | go, |
| 379 | [ |
| 380 | ( |
| 381 | "SELECT orders.id AS orders_id " |
| 382 | "FROM orders ORDER BY orders.id", |
| 383 | {}, |
| 384 | ), |
| 385 | ( |
| 386 | "SELECT orders.user_id, " |
| 387 | "orders.address_id, " |
| 388 | "orders.description, " |
| 389 | "orders.isopen " |
| 390 | "FROM orders WHERE orders.id = :pk_1", |
| 391 | {"pk_1": 3}, |
| 392 | ), |
| 393 | ], |
| 394 | ) |
| 395 | |
| 396 | o2 = q.all()[2] |
| 397 | eq_(o2.description, "order 3") |
| 398 | assert o2 not in sess.dirty |
| 399 | o2.description = "order 3" |
| 400 |
nothing calls this directly
no test coverage detected