Sqlalchemy mysql FLOAT精度和长度

Ale*_*ier 6 python mysql sqlalchemy

我正在尝试使用 SQLAlchemy 对现有数据库进行建模,并且非常接近。

我的症结在于 FLOAT 类型。

在 MySQL 数据库中它们是Float(10,2)

使用 SQLAlchemy,无论我如何尝试创建它们,我都无法复制它。

例子有:

from sqlalchemy.dialects.mysql import FLOAT
from sqlalchemy.ext.declarative import declarative_base

connection_string = 'xxxxx'

engine = create_engine(connection_string, echo=True, encoding='utf-8')
Base = declarative_base(engine)

class TestTable(Base):
    __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))
Run Code Online (Sandbox Code Playgroud)

小智 4

我认为我说得对,您正在尝试设置精度和比例?你有没有尝试过:

float = Column(FLOAT(precision=10, scale=2))
Run Code Online (Sandbox Code Playgroud)

您对 float_2 和 float_3 的定义似乎没有使用导入的 MySQL 方言 FLOAT 类,并且可能在此处使用另一个类,这可能会增加混乱!