Skip to content

Commit db08850

Browse files
committed
Merge branch 'tupleloader_fix'
2 parents bbe63ed + 480f4e0 commit db08850

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

gino/loader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def do_load(self, row, context):
134134

135135
class TupleLoader(Loader):
136136
def __init__(self, values):
137-
self.loaders = (self.get(value) for value in values)
137+
self.loaders = tuple(self.get(value) for value in values)
138138

139139
def do_load(self, row, context):
140140
return tuple(loader.do_load(row, context)[0]

tests/test_loader.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,3 +228,13 @@ async def test_distinct_none(bind):
228228

229229
u = await query.gino.load(loader).first()
230230
assert not hasattr(u, 'team')
231+
232+
233+
async def test_tuple_loader_279(user):
234+
from gino.loader import TupleLoader
235+
query = db.select([User, Team])
236+
async with db.transaction():
237+
async for row in query.gino.load((User, Team)).iterate():
238+
assert len(row) == 2
239+
async for row in query.gino.load(TupleLoader((User, Team))).iterate():
240+
assert len(row) == 2

0 commit comments

Comments
 (0)