[Sqlalchemy-tickets] Issue #4048: undefer_group() from relationship path has no effect (zzzeek/sqla
Brought to you by:
zzzeek
From: Michael B. <iss...@bi...> - 2017-08-21 02:51:41
|
New issue 4048: undefer_group() from relationship path has no effect https://bitbucket.org/zzzeek/sqlalchemy/issues/4048/undefer_group-from-relationship-path-has Michael Bayer: in 1.1. in 1.2 the lazy load also fails entirely: ``` #!python def test_undefer_group_from_relationship(self): users, items, order_items, Order, Item, User, orders = \ (self.tables.users, self.tables.items, self.tables.order_items, self.classes.Order, self.classes.Item, self.classes.User, self.tables.orders) mapper(Item, items, properties=dict( description=deferred(items.c.description))) mapper(User, users, properties=dict( orders=relationship(Order, order_by=orders.c.id))) mapper( Order, orders, properties=util.OrderedDict([ ('items', relationship(Item, secondary=order_items)), ('userident', deferred(orders.c.user_id, group='primary')), ('description', deferred(orders.c.description, group='primary')), ('opened', deferred(orders.c.isopen, group='secondary')) ]) ) sess = create_session() q = sess.query(User).filter(User.id == 7).options( defaultload(User.orders).undefer_group('primary') ) def go(): result = q.all() o2 = result[0].orders[1] eq_(o2.opened, 1) eq_(o2.userident, 7) eq_(o2.description, 'order 3') self.assert_sql_count(testing.db, go, 1) ``` |