當使用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