mutate() 得到参数 'name' 的多个值

mutate() got multiple values for argument 'name'

我想查询 createThemes 到我的 graphql。 我的 graphql 查询是:

mutation{
  createTheme(name: "qwe"){
    theme{
      id
    }
  }
}

所以它出错了:mutate() got multiple values for argument 'name'你能解决并解释为什么它打印这样的错误吗?

我的代码如下:

from models import Theme as ThemeModel, Topic as TopicModel, Article as ArticleModel

    ...

class CreateTheme(graphene.Mutation):
    class Arguments:
        id = graphene.Int()
        name = graphene.String()

    theme = graphene.Field(lambda: Theme)

    def mutate(self, name):
        theme = ThemeModel(name = name)
        theme.insert()

        return CreateTheme(theme = theme)

    ...

class Mutation(graphene.ObjectType):
    create_theme = CreateTheme.Field()

    ...

schema = graphene.Schema(query=Query, mutation = Mutation)

[已解决] 我变了

def mutate(self, name):

对此:

def mutate(self, info, name):

缺少 info 参数。

Info 参数提供了两个东西:

引用有关当前 GraphQL 查询执行的元信息(字段、模式、解析查询等) 访问 per-request 上下文,可用于存储用户身份验证、数据加载器实例或任何其他对解析查询有用的内容。

来源:https://docs.graphene-python.org/en/latest/types/objecttypes/