如何使用SQLAlchemy声明此列

时间:2015-07-03 16:39:29

标签: python mysql sqlalchemy

我有一个MySQL表,其中一列是小数。它使用以下参数创建:

 `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))

如何在此处声明比率列?

1 个答案:

答案 0 :(得分:2)

来自docs

  

Numeric类型用于从数据库类型接收数据   明确地知道是十进制类型(例如DECIMAL,NUMERIC,   其他)而不是浮点类型(例如FLOAT,REAL,其他)。

所以你声明它是这样的:

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