From b3b3a9094ef87c92b3982f03e6866cc6af1e9e53 Mon Sep 17 00:00:00 2001 From: arielRevo <120393131+arielRevo@users.noreply.github.com> Date: Thu, 4 Apr 2024 18:28:14 +0200 Subject: [PATCH] Refactor DjangoObjectType and ErrorType in graphene_django/types.py (#35) * Refactor DjangoObjectType and ErrorType in graphene_django/types.py * Make Django field nullable for generating nullable GraphQL field --- graphene_django/types.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/graphene_django/types.py b/graphene_django/types.py index 96794de..200c9a9 100644 --- a/graphene_django/types.py +++ b/graphene_django/types.py @@ -470,13 +470,16 @@ class DjangoObjectType(ObjectType): class ErrorType(ObjectType): field = graphene.String(required=True) messages = graphene.List(graphene.NonNull(graphene.String), required=True) + codes = graphene.List(graphene.NonNull(graphene.String), required=True) @classmethod def from_errors(cls, errors): data = { to_camel_case(key) if key != "__all__" and graphene_settings.CAMELCASE_ERRORS - else key: value - for key, value in errors.items() + else key: values + for key, values in errors.as_data().items() } - return [cls(field=key, messages=value) for key, value in data.items()] + return [cls(field=key, + messages=[value.message for value in values], + codes=[value.code for value in values]) for key, values in data.items()]