PythonC小数和SQLAlchemy\u mysql_例外。警告

2024-06-26 04:12:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个django应用程序,它在MySQL上使用SQLAlchemy。我使用的是cdecimal而不是内置的十进制。 在我的一个表中,我有一个数值列(value = Column(Numeric(10, 5))。 当我在django应用程序中为此表创建一个新条目时,使用以下SQL echo:

INSERT INTO my_table (date, value) VALUES (2012-03-11, 875334.670)

这将导致在提交时引发以下异常:

^{pr2}$

当我在mysql客户机中运行相同的查询时,没有任何问题。 我甚至尝试将添加条目的代码包装为:

import warnings
from sqlalchemy import exc as sa_exc
with warnings.catch_warnings():
        warnings.simplefilter("ignore", category=sa_exc.SAWarning)

怎么回事?在

谢谢!在


Tags: djangoimport应用程序sqlalchemyvaluemysqlsa条目
2条回答

问题是:

>>> import cdecimal
>>> cdecimal.Decimal(1.23)
Decimal('1.229999999999999982236431605997495353221893310546875')
>>> cdecimal.Decimal('1.23') 
Decimal('1.23')
>>>

试试这个:

INSERT INTO my_table (date, value) VALUES ('2012-03-11', 875334.670)

相关问题 更多 >