2015-07-03 53 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)