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
This commit is contained in:
arielRevo 2024-04-04 18:28:14 +02:00 committed by GitHub
parent 9b4baab6b6
commit b3b3a9094e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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()]