Skip to content

Commit 86385d1

Browse files
committed
Fix failing unit test by handling cases where a connection is resolved involving a query with inner join and distinct that is then filtered and would be combined with a filtered queryset that is not distinct.
1 parent 662f897 commit 86385d1

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

graphene_django/fields.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ def connection_resolver(cls, resolver, connection, default_manager, max_limit,
9090
if isinstance(iterable, QuerySet):
9191
if iterable is not default_manager:
9292
default_queryset = maybe_queryset(default_manager)
93+
if default_queryset.query.distinct and not iterable.query.distinct:
94+
iterable = iterable.distinct()
95+
elif iterable.query.distinct and not default_queryset.query.distinct:
96+
default_queryset = default_queryset.distinct()
9397
iterable = cls.merge_querysets(default_queryset, iterable)
9498
_len = iterable.count()
9599
else:

graphene_django/tests/test_query.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ def resolve_films(self, args, context, info):
411411
'films': {
412412
'edges': [{
413413
'node': {
414-
'genre': 'ot'
414+
'genre': 'OT'
415415
}
416416
}]
417417
}

0 commit comments

Comments
 (0)