正確生成浮點型的方法,解決sqlachemy Float浮點型的坑,生成float型別時,長度和精度均為0,導致查詢不到結果!
阿新 • • 發佈:2018-11-11
問題描述
在使用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 importFLOAT 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))