Python float()参数必须是字符串或数字,而不是';浮动';

Python float()参数必须是字符串或数字,而不是';浮动';,python,graphene-python,graphene-sqlalchemy,Python,Graphene Python,Graphene Sqlalchemy,我知道以前有人问过这个问题,但没有一个问题对我有帮助,所以我又问了一次 我正在使用graphene并解析一些Elasticsearch数据,然后将其传递给graphene PFB:-我的解析函数 def resolve_freelancers(self, info): session = get_session() [ids, scores] = self._get_freelancers() freelancers = session.query(FreelancerM

我知道以前有人问过这个问题,但没有一个问题对我有帮助,所以我又问了一次

我正在使用graphene并解析一些Elasticsearch数据,然后将其传递给graphene

PFB:-我的解析函数

def resolve_freelancers(self, info):
    session = get_session()
    [ids, scores] = self._get_freelancers()
    freelancers = session.query(FreelancerModel).filter(FreelancerModel.id.in_(ids)).all()

    for index in range(len(ids)):
        print("index", scores[index])
        freelancers[index].score = scores[index]

    if self.sort:
        reverse = self.sort.startswith("-")
        self.sort = self.sort.replace("-", "")
        if self.sort == "alphabetical":
            freelancers = sorted(freelancers, key=lambda f: f.name if f.name else "", reverse=reverse)
        if self.sort == "created":
            freelancers = sorted(freelancers, key=lambda f: f.created_on, reverse=reverse)
        if self.sort == "modified":
            freelancers = sorted(freelancers, key=lambda f: f.modified_at, reverse=reverse)
    freelancers = [Freelancer(f) for f in freelancers[self.start:self.end]]
    session.close()
    return freelancers
现在如果我这样做了

print(freelancers[index].score)
它给了我
10.989184
,它的类型是

在我的
课程中,自由职业者(graphene.ObjectType):

我添加了
score=graphene.Float()

现在,当我尝试将
分数添加到查询中时,它给出了错误。。否则就没有问题了。。我感兴趣的是在json响应中获得该分数值。。我不明白是什么导致了这个错误,而且我对Python还相当陌生,所以任何建议都将不胜感激


请随时询问其他代码或信息,因为我已尝试粘贴任何我认为相关的内容,因此我无法发表评论,或者我会发表评论,我很可能是错的,但现在开始

我猜您正在调用
float(score)
,但是不能通过
float()
直接将
graphene.float()类型转换为Python float()。这可能是由于继承自
graphene.Scalar
()的
graphene.Float
类型在其数据结构中包含的数据太多

我的猜测是找到
float()
调用并删除它。如果这不起作用,那么我将转到查询中的
Float.num
字段


再一次,这里所有的猜测,但我希望它有帮助。

事实上,我无法将字段直接传递给Graphene对象,我们需要在类的init方法中传递它,该类具有Graphene对象,然后我们需要返回一个解析器方法(在我的示例中是resolve_score)