add defer_group() option, applied to deferred not by default attributes

Issue #1359 resolved
Former user created an issue

Today it's possible to do:

mapper(Book, book_excerpts, properties = {
  'excerpt': deferred(book_excerpts.c.excerpt),
  'photo1': deferred(book_excerpts.c.photo1, group='photos'),
  'photo2': deferred(book_excerpts.c.photo2, group='photos'),
  'photo3': deferred(book_excerpts.c.photo3, group='photos')
})

And:

query = session.query(Book)
query.options(undefer_group('photos')).all()

I would appreciate being able to do:

mapper(Book, book_excerpts, properties = {
  'excerpt': deferred(book_excerpts.c.excerpt),
  'photo1': deferred(book_excerpts.c.photo1, group='photos', defer=False),
  'photo2': deferred(book_excerpts.c.photo2, group='photos', defer=False),
  'photo3': deferred(book_excerpts.c.photo3, group='photos', defer=False)
})

And:

query = session.query(Book)
query.options(defer_group('photos')).all()

Meaning, in normal loading those columns will be loaded fully, but I'll be able to load them in a deferred way in a query, as a group.

kobipe3@gmail.com

Comments (4)

  1. Log in to comment