diff --git a/graphene_django/rest_framework/mutation.py b/graphene_django/rest_framework/mutation.py index 0fe9a02..0296981 100644 --- a/graphene_django/rest_framework/mutation.py +++ b/graphene_django/rest_framework/mutation.py @@ -7,6 +7,7 @@ from graphene.types import Field, InputField from graphene.types.mutation import MutationOptions from graphene.relay.mutation import ClientIDMutation from graphene.types.objecttype import yank_fields_from_attrs +from graphene.utils.str_converters import to_camel_case from .serializer_converter import convert_serializer_field from ..types import ErrorType @@ -128,7 +129,7 @@ class SerializerMutation(ClientIDMutation): return cls.perform_mutate(serializer, info) else: errors = [ - ErrorType(field=key, messages=value) + ErrorType(field=to_camel_case(key), messages=value) for key, value in serializer.errors.items() ] diff --git a/graphene_django/rest_framework/tests/test_mutation.py b/graphene_django/rest_framework/tests/test_mutation.py index 9621ee3..ccdf4b8 100644 --- a/graphene_django/rest_framework/tests/test_mutation.py +++ b/graphene_django/rest_framework/tests/test_mutation.py @@ -211,6 +211,7 @@ def test_model_mutate_and_get_payload_error(): # missing required fields result = MyModelMutation.mutate_and_get_payload(None, mock_info(), **{}) assert len(result.errors) > 0 + assert result.errors[0].field == 'coolName' def test_invalid_serializer_operations():