SQLAlchemy提交使float变为舍入

时间:2013-12-10 16:26:02

标签: python mysql sql sqlalchemy

我有一个带有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数据库

1 个答案:

答案 0 :(得分:1)

hummmm我认为它与精度参数有关。使用Numeric,它正在工作!我之前使用过Numeric,但忘记使用精度参数。

请原谅,这个问题有答案......