我正在尝试获取SQLAlchemy中新创建的对象的ID。为此,我必须在访问对象的ID之前先调用db.session.flush()
,否则我将得到None
。但是,如果flush()
为什么要显式调用autoflush=True
?
示例:
db.session.autoflush = True
o = MyObj(name='x')
db.session.add(o)
print(o.id) # None
db.session.flush()
print(o.id) # 42