Open
Description
In InputObjectType.__init_subclass_with_meta__
, the fields
of the Meta
class (passed as an options
arg) are never referenced. This in effect just skips them completely wich stands in contradiction to the docstring.
Meta class options (optional):
...
fields (Dict[str, graphene.InputField]): Dictionary of field name to InputField. Not
recommended to use (prefer class attributes).
InputObjectType
has to be subclassed and __init_subclass_with_meta__
has to be extended for this feature to work, like in graphene.tests.issues.test_720.
If this is accepted I can do a PR for this along the lines:
@classmethod
+ def __init_subclass_with_meta__(cls, container=None, _meta=None, fields=None **options):
- def __init_subclass_with_meta__(cls, container=None, _meta=None, **options):
if not _meta:
_meta = InputObjectTypeOptions(cls)
+ if not fields:
+ fields = {}
- fields = {}
for base in reversed(cls.__mro__):
fields.update(yank_fields_from_attrs(base.__dict__, _as=InputField))
if _meta.fields:
_meta.fields.update(fields)
else:
_meta.fields = fields
if container is None:
container = type(cls.__name__, (InputObjectTypeContainer, cls), {})
_meta.container = container
super(InputObjectType, cls).__init_subclass_with_meta__(_meta=_meta, **options)
Metadata
Metadata
Assignees
Labels
No labels