当使用Avg
聚合为models.DecimalField
时,返回的值是float
,而不是decimal.Decimal
。这是因为我的具体数据库(在这种情况下sqlite3)不支持聚合值作为小数?如果是这样,那里有数据库吗?有没有办法解决这个问题(即将数值返回为小数点的方法),以便精确计算小数(也可以不将float
转换为str
,然后再转换回decimal.Decimal
)?在Django的DecimalField中,我可以从平均值中获得Decimal吗?
注意:对于那些认为“足够精确”与“准确”相同的人,或者因为错误的基于浮点的算术而讨论Star Ship Enterprise崩溃的人,我并不是在拖钓。
我刚刚搜索了'星舰企业基于浮点运算'。无论如何,在PostgreSQL上我也得到一个浮点数。 – 2012-02-01 03:34:27
这是一个奇怪的具体说明。 – millimoose 2012-02-01 03:49:07