Код, копирующий ошибку:
from sqlalchemy import create_engine, Table, Column, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class Message(Base):
__tablename__ = 'messages'
id = Column(Integer, primary_key=True)
message = Column(Integer)
engine = create_engine('sqlite:///' + filename_of_your_choice)
session = sessionmaker(bind=engine)
newmessage = Message()
newmessage.message = "Hello"
messages = session.query(Message).all()
Выполнение этого кода урожаи:
Traceback (most recent call last):
File "C:/aaron/test.py", line 20, in <module>
session.commit()
TypeError: unbound method commit() must be called with Session instance as first argument (got nothing instead)
Я на 95% положителен, что имя файла не является проблемой, поскольку я могу соединиться с ним от оболочки
какие-либо идеи?
Возвращаемое значение из sessionmaker()
- это класс. Вам необходимо инстанцировать его перед использованием методов на экземпляре.