Я вдруг начал видеть ошибку в моем приложении Python SQLAlchemy, и я не могу понять, что вызывает его. Мой код выглядит следующим образом:Ошибка в SQLAlchemy с Integer: «object() не принимает никаких параметров»
from sqlalchemy import create_engine
from sqlalchemy import Column
from sqlalchemy import ForeignKey
from sqlalchemy import Integer
from sqlalchemy import MetaData
from sqlalchemy.ext.declarative import declarative_base
def loadConnection(connection_string, echo=False):
engine = create_engine(connection_string, echo=echo)
Base = declarative_base(engine)
Session = sessionmaker(bind=engine)
session = Session()
return session, Base
connection = yaml.load('connection.yaml')
session, Base = loadConnection(connection['connection'], connection['echo'])
class Foo(Base):
__tablename__ = 'foo'
id = Column(Integer(11), primary_key=True)
И когда я запускаю этот сценарий, я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "ephem/database_interface.py", line 52, in <module>
class Foo(Base):
File "ephem/database_interface.py", line 54, in Foo
id = Column(Integer(11), primary_key=True)
TypeError: object() takes no parameters
Я использую SQLAlchemy 0.9.1. Мой сервер - это MySQL, работающий на локальном хосте. Насколько я могу судить по проверке с помощью pdb connection
, session
, Base
, Column
и Integer
все выглядит нормально.
Согласно [docs] (http://docs.sqlalchemy.org/en/rel_0_9/core/types.html#sqlalchemy.types.Integer), 'Integer' не принимает никаких аргументов. – alecxe