python-SQLAlchemy中的BigInteger吗?

如果格式不正确,我谨此致歉;对我来说已经很晚了.

基本上,我将Python与SQLAlchemy结合使用.我正在尝试使用Object Relational Mapper, declarative style将类映射到PostgreSQL数据库表.

根据SQLAlchemy’s documentation on data types,我应该能够使用类型BigInteger来表示数据库中潜在的大整数,尤其是因为我知道PostgreSQL supports the BIGINT data type.

因此,我尝试像这样声明我的班级:

import sqlalchemy
from sqlalchemy import Column, BigInteger, Text, Sequence, Boolean
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class Account(Base):
    __tablename__ = 'accounts'
    __metadata__ = Base.metadata

    id = Column(BigInteger, Sequence('id_seq'), unique=True, nullable=False)
    email = Column(Text(32), unique=True, nullable=False)

    def __init__(self, email):
        self.email = email

但是,当我尝试使用此文件时,会遇到以下问题:

Traceback (most recent call last):
  File "sqltest02.py", line 9, in <module>
     from account import Account
  File "/home/pdusen/prog/account.py", line 2, in <module>
    from sqlalchemy import Column, BigInteger, Text, Sequence, Boolean
ImportError: cannot import name BigInteger

因此,根据SQLAlchemy的文档,存在BigInteger类型,但根据python,则不存在.这里有什么我想念的吗?

在此先感谢您提供所有答案.

解决方法:

至少从SQL Alchemy 0.6起已支持此功能.如评论中所述,实际问题是版本太旧.

上一篇:CF1245 A. Good ol' Numbers Coloring(java与gcd)


下一篇:java-在非常大的数上优化算术运算