2015-07-03 51 views
2

我有一個MySQL表,其中一列是小數。它使用以下參數創建:如何使用SQLAlchemy聲明此列

`ratio` decimal(5,3) DEFAULT NULL, 

到目前爲止,我放在一起的示例腳本超級笨拙。

import sys 
from sqlalchemy import create_engine 
from sqlalchemy.orm import sessionmaker 
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy import Column, Integer, String 

Session = sessionmaker(bind=engine) 
session = Session() 
Base = declarative_base() 

class DailyProjections(Base): 
    __tablename__ = 'daily_projections' 

    id = Column(Integer, primary_key=True) 
    name = Column(String(100)) 

如何在此處聲明比率列?

回答

2

docs

數字類型被設計成從一個數據庫類型 被明確稱爲是一個小數類型接收數據(例如DECIMAL,NUMERIC, 等),而不是一個浮點類型(例如FLOAT,REAL,其他)。

所以,你這樣聲明:

ratio = Column(Numeric(5, 3), nullable=True)