Description
PR - #168
I use graphene
and graphene-pydantic
libraries.
Code example. You can run this for testing.
https://gist.github.com/dima-dmytruk23/aaeba0fbc7a539c1f8bf3d0914fce580
The client does not pass the name
field, but it is still present in the mutation as None
. Input query turns into a UserUpdateInput
, which is when the default values are filled in to the dictionary. So then when code passes the dictionary in to build the UserUpdate
, it sets all the fields -- so exclude_unset
doesn't exclude anything, since all the fields were in fact set.
I am fairly sure it's not in graphene-pydantic
, though, since that is only responsible for converting to the GrapheneInputObjectType
.
I propose to resolve this issue by adding the exclude_unset
flag to the GraphQLSchema
class and use it in the coerce_input_value function
.