Skip to content

Commit d2ca8a9

Browse files
committed
Fixed node id fetching when cannot decode. Fixed #14
1 parent 34d6d07 commit d2ca8a9

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

graphene/relay/fields.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,10 @@ def __init__(self, object_type=None, *args, **kwargs):
8181
def id_fetcher(self, global_id, info):
8282
from graphene.relay.utils import is_node
8383
schema = info.schema.graphene_schema
84-
resolved_global_id = from_global_id(global_id)
84+
try:
85+
resolved_global_id = from_global_id(global_id)
86+
except:
87+
return None
8588
_type, _id = resolved_global_id.type, resolved_global_id.id
8689
object_type = schema.get_type(_type)
8790
if not is_node(object_type) or (self.field_object_type and

graphene/relay/tests/test_query.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ def test_nodefield_query():
3838
id
3939
name
4040
},
41+
false: myNode(id:"WrongNodeId") {
42+
id
43+
name
44+
},
4145
allMyNodes (customArg:"1") {
4246
edges {
4347
node {
@@ -56,6 +60,7 @@ def test_nodefield_query():
5660
'id': 'TXlOb2RlOjE=',
5761
'name': 'mo'
5862
},
63+
'false': None,
5964
'allMyNodes': {
6065
'edges': [{
6166
'node': {

0 commit comments

Comments
 (0)