以列表为输入的石墨烯突变

Graphene mutation with list as input

我有这样的石墨烯突变:


class User(ObjectType):
    username = String()

class ImportUsers(Mutation):
    class Arguments:
        users = List(User)
    Output = List(User)

    @staticmethod
    def mutation(root, info, users):
        ...

但是石墨烯给我以下错误:AssertionError: Mutations.importUsers(users:) argument type must be Input Type but got: [User].

我怎样才能在接受对象列表的石墨烯中进行突变?

是的,基本上,你需要有这个:

class User(graphene.ObjectType):
    username = graphene.String()

class ImportUsers(Mutation):
    class Arguments:
        users = graphene.List(User)

    Output = graphene.List(User)

    @staticmethod
    def mutation(root, info, users):
        ...

石墨烯具有列表类型。另外,我不知道是不是我一个人,但我认为你需要石墨烯。(类型),而不仅仅是类型。我现在正在做一些与此非常相似的事情,所以希望你能找到或找到你的解决方案,如果你找到了,请告诉我进展如何!希望我帮助了 xD。我对这一切有点陌生所以你们

我正在尝试与您大致相同的事情。

发现自定义输入类型应该继承自 graphene.InputObjectType 而不是 graphene.ObjectType

class User(graphene.InputObjectType):  # <-- Changed to InputObjectType
    username = graphene.String()

所以,让你的 User 这样应该可以解决这个问题。