1. 程式人生 > >正確生成浮點型的方法,解決sqlachemy Float浮點型的坑,生成float類型時,長度和精度均為0,導致查詢不到結果!

正確生成浮點型的方法,解決sqlachemy Float浮點型的坑,生成float類型時,長度和精度均為0,導致查詢不到結果!

依然 tab 圖片 control 選擇 分享 ice mod ble

問題描述

在使用flask_sqlachemy時,給price字段選擇了Float類型,數據庫用的mysql,生成數據庫表後,發現

from sqlalchemy import Float,Column
price = Column(Float,default=0.00)

技術分享圖片

雖然能存儲float類型,結果如下

技術分享圖片

但是查詢時有問題!!!

技術分享圖片

根本查不到結果

錯誤示例,還有如下幾種

錯誤示範

from sqlalchemy import Column,Float
from sqlalchemy.dialects.mysql import FLOAT


class TestTable(db.Model): __tablename__ = my_test_table float_1 = Column(FLOAT(length=10, precision=2)) float_2 = Column(Float(10,2)) float_3 = Column(Float(as_decimal=True)) float_4 = Column(Float(precision=10, scale=2),default=0.00)

上面方法無論哪種生成的結果,依然長度為0.無法查詢到

技術分享圖片

解決辦法

from
sqlalchemy.dialects.mysql import FLOAT float_5 = Column(FLOAT(precision=10, scale=2))

技術分享圖片

正確生成浮點型的方法,解決sqlachemy Float浮點型的坑,生成float類型時,長度和精度均為0,導致查詢不到結果!