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

問題描述

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

 

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

 

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

可是查詢時有問題!!!數據庫

根本查不到結果flask

錯誤示例,還有以下幾種spa

錯誤示範

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.沒法查詢到3d

 

解決辦法

from sqlalchemy.dialects.mysql import FLOAT

float_5 = Column(FLOAT(precision=10, scale=2))

相關文章
相關標籤/搜索