Skip to content

Commit d66aa07

Browse files
committed
Added iterable and length to the SQLAlchemyConnectionField
1 parent 2de70b4 commit d66aa07

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

graphene_sqlalchemy/fields.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
from functools import partial
22

3-
from sqlalchemy.orm.query import Query
4-
53
from graphene.relay import ConnectionField
64
from graphene.relay.connection import PageInfo
75
from graphql_relay.connection.arrayconnection import connection_from_list_slice
6+
from sqlalchemy.orm.query import Query
87

98
from .utils import get_query
109

1110

1211
class SQLAlchemyConnectionField(ConnectionField):
13-
1412
@property
1513
def model(self):
1614
return self.type._meta.node._meta.model
@@ -28,7 +26,7 @@ def connection_resolver(cls, resolver, connection, model, root, args, context, i
2826
_len = iterable.count()
2927
else:
3028
_len = len(iterable)
31-
return connection_from_list_slice(
29+
connection = connection_from_list_slice(
3230
iterable,
3331
args,
3432
slice_start=0,
@@ -38,6 +36,9 @@ def connection_resolver(cls, resolver, connection, model, root, args, context, i
3836
pageinfo_type=PageInfo,
3937
edge_type=connection.Edge,
4038
)
39+
connection.iterable = iterable
40+
connection.length = _len
41+
return connection
4142

4243
def get_resolver(self, parent_resolver):
4344
return partial(self.connection_resolver, parent_resolver, self.type, self.model)

0 commit comments

Comments
 (0)