sqlalchemy 中的无符号浮点数

Vij*_*y47 2 python mysql database sqlalchemy

如何在 python - sqlalchemy 框架中拥有无符号浮点数据类型?

我使用的是 Integer 类型,这会产生Warning: Out of range value for column 'xxxx' at row 1 cursor.execute(statement, parameters).

我正在像这样实现该表:

class testTable(Base):
    __tablename__ = 'test_table'

    id = Column(Integer, primary_key=True)
    xxxx = Column(Integer, ForeignKey('another.id'))
    yyyy = Column(Integer, nullable=False)
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

MySQL 是数据库服务器。

bgs*_*gse 9

查看文档发现有这种Float类型。

from sqlalchemy import Float

(...)

class testTable(Base):
    __tablename__ = 'test_table'

    id = Column(Integer, primary_key=True)
    xxxx = Column(Integer, ForeignKey('another.id'))
    yyyy = Column(Integer, nullable=False)
    zzzz = Column(Float)
Run Code Online (Sandbox Code Playgroud)

对于 MySQL 的具体信息,例如unsigned,请参阅相应的文档,例如导入特定的大写类型:

from sqlalchemy.dialects.mysql import FLOAT
Run Code Online (Sandbox Code Playgroud)

然后您可以像往常一样使用它们来创建您的专栏:

zzzz = Column(FLOAT(unsigned=True))
Run Code Online (Sandbox Code Playgroud)