gpt4 book ai didi

python - 尝试在 column_property 中使用 float()

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:12 25 4
gpt4 key购买 nike

我试图在使用 column_property 分配列时将列转换为 float :

class voteinfo(Base):
__tablename__ = 'voteinfo'
id = Column(Integer, primary_key=True)
upvotes = Column(Integer)
downvotes = Column(Integer)
controversial = column_property(float(upvotes - downvotes)/(abs(upvotes + downvotes)+1)

def __init__(self, upvotes, downvotes):
self.upvotes = upvotes
self.downvotes = downvotes

但是,当我运行它时,出现以下错误:

TypeError: float() argument must be a string or a number

有更好的方法吗?我使用 column_property 是因为我希望能够按有争议的方式进行排序。

最佳答案

来自sqlalchemy docs ,最好的方法是定义一个 python @property。您还需要使用内置的 sqlalchemy 浮点类型。

from sqlalchemy.types import Float

class voteinfo(Base):
__tablename__ = 'voteinfo'
id = Column(Integer, primary_key=True)
upvotes = Column(Integer)
downvotes = Column(Integer)

@property
def controversial(self):
return Float(self.upvotes - self.downvotes)/Float(abs(self.upvotes + self.downvotes)+1)


def __init__(self, upvotes, downvotes):
self.upvotes = upvotes
self.downvotes = downvotes

关于python - 尝试在 column_property 中使用 float(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com