Объект типа EnumMeta не является JSON сериализуемым - Graphene Django
Я пытаюсь разработать api в graphql и использовал перечисления, но при создании выдает ошибку. Object of type EnumMeta is not JSON serializable
Ниже приведены типы и объекты, которые я создал для мутации.
class TypeEnum(graphene.Enum):
small = 1
medium = 2
big = 3
class ModelEnum(graphene.Enum):
students = 1
teachers = 2
class FieldEnum(graphene.Enum):
name = 1
class = 2
section = 3
class InputObject(graphene.InputObjectType):
type = TypeEnum(),
model = ModelEnum(),
field = FieldEnum(),
name = graphene.String()
class Meta:
fields = "__all__"
class OutputObject(DjangoObjectType):
id = graphene.String(source="pk", required=True)
is_active = graphene.Boolean()
input = graphene.JSONString() (graphene.Field(OutputObject) - same fields with InputObject but graphene.ObjectType )
class AddMutation(graphene.Mutation):
class Arguments:
input = graphene.Argument(InputObject)
is_active = graphene.Boolean()
response = graphene.Field(OutputObject)
def mutate(self, info, input, is_active):
payload = dict(is_active=is_active, input=input)
model.objects.create(**payload)
return AddMutation(response=qs)
Я пробовал json.dumps(input, default=str), но он преобразовывал объект ввода в строку следующим образом. "{\"type\": \"EnumMeta.small\", \"model\": \"EnumMeta.studens\", \"field\": \"EnumMeta.name\", \"name\": \"jane dow\"}"
Я предполагаю, что input = graphene.JSONString() - это часть, которая выбрасывает ошибку, но не уверен, как ее разрешить. Может ли кто-нибудь помочь мне с этим?