BigInteger в SQLAlchemy или нет? - PullRequest
       13

BigInteger в SQLAlchemy или нет?

3 голосов
/ 19 марта 2011

Я заранее извиняюсь, если это плохо отформатировано;это довольно поздно для меня.

По сути, я использую Python с SQLAlchemy.Я пытаюсь сопоставить класс с таблицей БД PostgreSQL, используя Object Relational Mapper, декларативный стиль .

Согласно документации SQLAlchemy о типах данных , я долженбыть в состоянии использовать тип BigInteger для представления потенциально больших целых чисел в базе данных, особенно потому, что я знаю, что PostgreSQL поддерживает тип данных BIGINT .

Итак, я пытаюсь объявить свой классвот так:

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, *Тип 1020 * существует, но, согласно Python, его нет.Что-то здесь мне не хватает?

Заранее спасибо за все ответы.

1 Ответ

4 голосов
/ 20 марта 2013

Это поддерживается, по крайней мере, начиная с SQL Alchemy 0.6. Как отмечалось в комментариях, настоящей проблемой была слишком старая версия.

...