石墨烯突变错误,字段必须是映射(dict / OrderedDict)

Dev*_*ior 7 python facebook-graph-api graphene-python

我开始关注 GraphQl/Graphene。我正在构建一个连接到 MongoDB 的模式。到目前为止,除了突变之外,一切似乎都有效。我一直在这里这里遵循这个例子,但没有运气。有人可以指出我做错了什么吗?提前致谢。

import graphene

class GeoInput(graphene.InputObjectType):
    lat = graphene.Float(required=True)
    lng = graphene.Float(required=True)

    @property
    def latlng(self):
        return "({},{})".format(self.lat, self.lng)


class Address(graphene.ObjectType):
    latlng = graphene.String()


class CreateAddress(graphene.Mutation):

    class Arguments:
        geo = GeoInput(required=True)

    Output = Address

    def mutate(self, info, geo):
        return Address(latlng=geo.latlng)


class Mutation(graphene.ObjectType):
    create_address = CreateAddress.Field()


class Query(graphene.ObjectType):
    address = graphene.Field(Address, geo=GeoInput(required=True))
    def resolve_address(self, info, geo):
        return Address(latlng=geo.latlng)

schema = graphene.Schema(query=Query, mutation=Mutation)
Run Code Online (Sandbox Code Playgroud)

上面的代码生成此错误:

AssertionError: CreateAddress 字段必须是一个映射(dict / OrderedDict),以字段名称作为键或返回此类映射的函数。

Dev*_*ior 1

问题出在我安装的石墨烯版本上,安装石墨烯 2.0 解决了这个问题。