diff --git a/graphene/relay/types.py b/graphene/relay/types.py index a1a3dbe9..55da8910 100644 --- a/graphene/relay/types.py +++ b/graphene/relay/types.py @@ -76,15 +76,15 @@ class Connection(ObjectType): @classmethod @memoize - def for_node(cls, node, edge_type=None): + def for_node(cls, node, edge_type=None, root_values=None): from graphene.relay.utils import is_node edge_type = edge_type or Edge.for_node(node) - assert is_node(node), 'ObjectTypes in a connection have to be Nodes' + assert is_node(node) or is_node_type(node), 'ObjectTypes in a connection have to be Nodes' edges = List(edge_type, description='Information to aid in pagination.') return type( '%s%s' % (node._meta.type_name, cls._meta.type_name), (cls,), - {'edge_type': edge_type, 'edges': edges}) + {'edge_type': edge_type, 'edges': edges, '_root': root_values}) @classmethod def from_list(cls, iterable, args, context, info):