学习sqlalchemy的时候,按照文档写了一段代码
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, String, Integer
from sqlalchemy.orm import sessionmaker
engine = create_engine('mysql+pymysql://test:123456@192.168.3.14:3306/tdb', echo=True)
Base = declarative_base()
class User(Base):
__tablename__ = 'user'
id = Column(Integer, autoincrement=True, primary_key=True, nullable=False)
name = Column(String(64), unique=True, nullable=False)
age = Column(Integer)
def __str__(self):
return 'User(id={}, name={}, age={})'.format(self.id, self.name, self.age)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session
ins = User(name='Tom', age=20)
session.add(ins)
try:
session.commit(ins)
except Exception as e:
session.rollback()
raise e
然后抛出了一个错误:
Traceback (most recent call last):
File "/home/hysg/code/study/test/tdb.py", line 26, in <module>
session.add(ins)
AttributeError: 'sessionmaker' object has no attribute 'add'
该如何修改代码?
session = Session()