Skip to content

Commit 2eea03c

Browse files
committed
Improved name in Field. Could be an Argument
1 parent e27af63 commit 2eea03c

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

graphene/core/types/field.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
from ..classtypes.inputobjecttype import InputObjectType
99
from ..classtypes.mutation import Mutation
1010
from ..exceptions import SkipField
11-
from .argument import ArgumentsGroup, snake_case_args
12-
from .base import GroupNamedType, LazyType, MountType, NamedType, OrderedType
11+
from .argument import Argument, ArgumentsGroup, snake_case_args
12+
from .base import GroupNamedType, LazyType, MountType, NamedType, ArgumentType, OrderedType
1313
from .definitions import NonNull
1414

1515

@@ -19,6 +19,9 @@ def __init__(
1919
self, type, description=None, args=None, name=None, resolver=None,
2020
required=False, default=None, *args_list, **kwargs):
2121
_creation_counter = kwargs.pop('_creation_counter', None)
22+
if isinstance(name, (Argument, ArgumentType)):
23+
kwargs['name'] = name
24+
name = None
2225
super(Field, self).__init__(name=name, _creation_counter=_creation_counter)
2326
if isinstance(type, six.string_types):
2427
type = LazyType(type)

graphene/core/types/tests/test_field.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,14 @@ def test_field_custom_arguments():
104104
assert 'p' in schema.T(args)
105105

106106

107+
def test_field_name_as_argument():
108+
field = Field(None, name=String())
109+
schema = Schema()
110+
111+
args = field.arguments
112+
assert 'name' in schema.T(args)
113+
114+
107115
def test_inputfield_internal_type():
108116
field = InputField(String, description='My input field', default='3')
109117

0 commit comments

Comments
 (0)