Skip to content

Commit b192e78

Browse files
committed
Fixed assertion error while creating the ast graph raised in graphql.utils.ast_from_value
1 parent d812c9b commit b192e78

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

examples/flask_sqlalchemy/schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class Meta:
3535
class Query(graphene.ObjectType):
3636
node = relay.Node.Field()
3737
all_employees = SQLAlchemyConnectionField(
38-
Employee, sort=graphene.Argument(SortEnumEmployee, default_value=EmployeeModel.id))
38+
Employee, sort=graphene.Argument(SortEnumEmployee, default_value=['id', 'asc']))
3939
all_roles = SQLAlchemyConnectionField(Role, sort=utils.sort_argument_for_model(RoleModel))
4040
all_departments = SQLAlchemyConnectionField(Department)
4141

graphene_sqlalchemy/fields.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from collections import Iterable
21
from functools import partial
32

43
from sqlalchemy.orm.query import Query
@@ -20,7 +19,13 @@ def model(self):
2019
def get_query(cls, model, info, sort=None, **args):
2120
query = get_query(model, info.context)
2221
if sort is not None:
23-
query = query.order_by(*sort) if isinstance(sort, Iterable) else query.order_by(sort)
22+
if isinstance(sort[0], str):
23+
sort = [sort]
24+
order = []
25+
for column_name, direction in sort:
26+
column = getattr(model, column_name)
27+
order.append(getattr(column, direction)())
28+
query = query.order_by(*order)
2429
return query
2530

2631
@property

graphene_sqlalchemy/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ def _sort_enum_for_model(cls, name=None, symbol_name=_symbol_name):
4747
items = []
4848
default = []
4949
for column in inspect(cls).columns.values():
50-
asc = symbol_name(column.name, True), column.asc()
51-
desc = symbol_name(column.name, False), column.desc()
50+
asc = symbol_name(column.name, True), [column.name, 'asc']
51+
desc = symbol_name(column.name, False), [column.name, 'desc']
5252
if column.primary_key:
5353
default.append(asc[1])
5454
items.extend((asc, desc))

0 commit comments

Comments
 (0)