在 SQLAlchemy 中,在提交之前获取自动增量的主键可以通过以下方法实现:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
engine = create_engine('sqlite:///test.db')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
new_user = User(name='John Doe')
session.add(new_user)
new_user.id
属性来获取自动增量的主键。例如:session.commit()
print("The new user's ID is:", new_user.id)
这样,在提交之前,可以通过访问 new_user.id
属性来获取自动增量的主键。
需要注意的是,如果在提交之前对象被删除或者对象的状态被改变,那么获取的主键可能会发生变化。因此,最好在提交之后再获取主键。
领取专属 10元无门槛券
手把手带您无忧上云