Я пытаюсь получить идентификатор вновь созданного объекта в SQLAlchemy. Для этого мне нужно позвонить 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