diff --git a/graphene/types/argument.py b/graphene/types/argument.py index ead2c005..043cad2b 100644 --- a/graphene/types/argument.py +++ b/graphene/types/argument.py @@ -36,6 +36,10 @@ def to_arguments(args, extra_args): for default_name, arg in iter_arguments: if isinstance(arg, Dynamic): arg = arg.get_type() + if arg is None: + # If the Dynamic type returned None + # then we skip the Argument + continue if isinstance(arg, UnmountedType): arg = arg.Argument() diff --git a/graphene/types/tests/test_mutation.py b/graphene/types/tests/test_mutation.py index 24096161..8ff8773f 100644 --- a/graphene/types/tests/test_mutation.py +++ b/graphene/types/tests/test_mutation.py @@ -49,6 +49,7 @@ def test_mutation_execution(): class Input: name = String() dynamic = Dynamic(lambda: String()) + dynamic_none = Dynamic(lambda: None) name = String() dynamic = Dynamic(lambda: String())