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/
我想查询 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/