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

时间:2020-05-21 08:54:38

标签: graphql graphene-python

我有一个这样的石墨烯突变:


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].

我如何才能在石墨烯中接受一个对象列表的突变?

2 个答案:

答案 0 :(得分:0)

是的,基本上,您需要具备以下条件:

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。我对这一切都是新手,所以

答案 1 :(得分:0)

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

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

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

因此,让您的User可以解决问题。