2016-09-09 43 views
2

我正在製作Flask-SqlAlchemy應用程序。在一個模型中,我想將地理碼數據存儲爲緯度/經度。Flask-SQLAlchemy數字類型

從閱讀其他職位,我應該使用Numeric not Float。

爲數字類型列表中的文件提供了一些論據:

precision=None, asdecimal=False, decimal_return_scale=None 

所以我嘗試添加一列作爲

db.Column(db.Numeric, precision=8, asdecimal=False, decimal_return_scale=None) — as the equivalent of DECIMAL(10,8) 

哪個返回的錯誤:

"Unknown arguments passed to Column: " + repr(list(kwargs))) 

SQLAlchemy的。 exc.ArgumentError:傳遞給列的未知參數:['asdecimal','decimal_return_scale', '精度']

如果我使用db.Column(db.Numeric),我可以創建表並寫入它。

會有人給我解釋一下,如果有什麼我經過這裏語法錯誤: db.Column(db.Numeric,精度= 8,asdecimal =假decimal_return_scale =無) - 作爲小數點當量(10 ,8)

什麼是利用/定義數字類型列的正確方法。

回答

3

您應該添加額外的參數給db.Numeric,而不是db.Column:

db.Column(db.Numeric(precision=8, asdecimal=False, decimal_return_scale=None)) 
0

你也可以做

db.Column(db.Numeric(10,2)) 

其中第一個元素是整數位的數量第二個參數代表小數位數。