graphql-python / graphql-python/graphene
Failed to print schema with InputObjectType with DateTime field with default_value
- Lenguaje dominante
- Python
- Estrellas
- 8.2k
- Forks
- 818
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Reproduce el fallo al imprimir el esquema con el Filters InputObjectType y los valores predeterminados de DateTime mostrados en el issue. Empieza en graphql/utils/ast_from_value.py y luego inspecciona el punto de llamada en schema_printer.py; se considera terminado cuando print(schema) se ejecuta correctamente si los campos DateTime tienen valores default_value.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- graphql, python
- Área
- api, backend
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 45/100