开发者

BigInteger in SQLAlchemy or not?

开发者 https://www.devze.com 2023-02-18 00:04 出处:网络
I apologize in advance if this is poorly formatted; it\'s rather late for me. Basically, I\'m using Python with SQLAlchemy. I\'m trying to map a class to a PostgreSQL DB table using the Object Relati

I apologize in advance if this is poorly formatted; it's rather late for me.

Basically, I'm using Python with SQLAlchemy. I'm trying to map a class to a PostgreSQL DB table using the Object Relational Mapper, declarative style.

According to SQLAlchemy's documentation on data types, I should be able to use the type BigIntege开发者_Python百科r to represent potentially large integers in the Database, particularly since I know that PostgreSQL supports the BIGINT data type.

So, I attempt to declare my class like so:

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

However, when I try to use this file at all, I'm greeted with the following:

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

So, according to SQLAlchemy's documentation, the BigInteger type exists, but according to python it does not. Is there something here I'm missing?

Thanks in advance for all answers.


This has been supported at least since SQL Alchemy 0.6. As noted in the comments the actual problem was a version that was too old.

0

精彩评论

暂无评论...
验证码 换一张
取 消