(self)
| 563 | assert i1 in o1.items.all() |
| 564 | |
| 565 | def test_association_nonaliased(self): |
| 566 | items, Order, orders, order_items, Item = ( |
| 567 | self.tables.items, |
| 568 | self.classes.Order, |
| 569 | self.tables.orders, |
| 570 | self.tables.order_items, |
| 571 | self.classes.Item, |
| 572 | ) |
| 573 | |
| 574 | self.mapper_registry.map_imperatively( |
| 575 | Order, |
| 576 | orders, |
| 577 | properties={ |
| 578 | "items": relationship( |
| 579 | Item, |
| 580 | secondary=order_items, |
| 581 | order_by=order_items.c.item_id, |
| 582 | lazy="dynamic", |
| 583 | ) |
| 584 | }, |
| 585 | ) |
| 586 | self.mapper_registry.map_imperatively(Item, items) |
| 587 | |
| 588 | sess = fixture_session() |
| 589 | o = sess.query(Order).first() |
| 590 | |
| 591 | self.assert_compile( |
| 592 | o.items, |
| 593 | "SELECT items.id AS items_id, items.description AS " |
| 594 | "items_description FROM items," |
| 595 | " order_items WHERE :param_1 = order_items.order_id AND " |
| 596 | "items.id = order_items.item_id" |
| 597 | " ORDER BY order_items.item_id", |
| 598 | use_default_dialect=True, |
| 599 | ) |
| 600 | |
| 601 | # filter criterion against the secondary table |
| 602 | # works |
| 603 | eq_(o.items.filter(order_items.c.item_id == 2).all(), [Item(id=2)]) |
| 604 | |
| 605 | def test_secondary_as_join(self): |
| 606 | # test [ticket:4349] |
nothing calls this directly
no test coverage detected