graphene icon indicating copy to clipboard operation
graphene copied to clipboard

Failed to print schema with InputObjectType with DateTime field with default_value

Open lookpl opened this issue 5 years ago • 1 comments

Declaring a DateTime with default_value in InputObjectType makes schema unprintable due to unsupported conversion in graphql/utils/ast_from_value.py

InputObjectType declared as:

class Filters(InputObjectType):
    datetime_after = DateTime(required=False, default_value=datetime.min)
    datetime_before = DateTime(required=False, default_value=datetime.max)

normally attached to the Query causes print(schema) failing with:

(...)
File "lib/python3.8/site-packages/graphql/utils/schema_printer.py", line 205, in _print_input_value
    default_value = " = " + print_ast(ast_from_value(arg.default_value, arg.type))
  File "lib/python3.8/site-packages/graphql/utils/ast_from_value.py", line 53, in ast_from_value
    assert isinstance(value, dict)
AssertionError

Without default_value it works. I'm using default values like shown in #856 but even without this support in ast_from_value is clearly missing.

lookpl avatar Dec 08 '20 09:12 lookpl

appears to be resolved by current version of graphene/graphql-core, or at least the same bug but with Enum instead of DateTime is resolved.

ransomw avatar Jul 09 '23 22:07 ransomw