我有一个带有Float列的模式,如下所示:
Base = declarative_base()
class Table(Base):
__tablename__ = 'table'
id = Column(Integer,primary_key=True)
amount = Column(Float(16,2))
当我向这个表提交一些行时,sqlalchemy将浮点数舍入为整数:
t = Table()
t.amount = 2.25
session.add(t)
# right here, t.amount is still 2.25
session.commit()
# here, t.amount is already 2
在我的数据库上做一些SQL就是这样:
SELECT * FROM Table
id | amount
-------------
1 | 2
是否有可能发生这种情况?有些丢失或错误的配置?我也尝试使用数字数据类型,但结果是相同的
我在这里使用sqlalchemy 0.8.2和MySQL数据库
答案 0 :(得分:1)
hummmm我认为它与精度参数有关。使用Numeric,它正在工作!我之前使用过Numeric,但忘记使用精度参数。
请原谅,这个问题有答案......