mutate() 为参数 '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参数。

信息参数提供两件事:

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

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

最新更新