graphql-python / graphql-python/graphene

Default value for custom input object type

Open
#856 14 comments 0 reactions 0 assignees View on GitHub
✨ enhancement good first issue
Dominant language
Python
Stars
8.2k
Forks
818
PR merge metrics
No merged PRs in 30d

Description

I have a custom input object type

```
class Filters(graphene.InputObjectType):
name = graphene.String()
type = graphene.List(graphene.String)
```

and the query definition

```
class Query(graphene.ObjectType):
search = graphene.Field(
SearchResult, query=graphene.String(required=True),
filters=graphene.Argument(Filters, default_value=None)
)
```

I want to be able to provide an empty default value for the `filters` argument. With the above definition, the argument is not set as optional and I'm getting this error message:

```
{
"errors": [
{
"message": "resolve_search() missing 1 required positional argument: 'filters'",
"locations": [
{
"line": 15,
"column": 3
}
],
"path": [
"search"
]
}
],
"data": {
"search": null
}
}
```

What is the correct way to provide an empty default value for the argument of custom object type? I'm at these package versions:

`graphene==2.1.3`
`graphql-core==2.1`
`graphql-server-core==1.1.1`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.