flask-sqlalchemy - почему object.id равен None даже при autoflush = True - PullRequest
0 голосов
/ 09 ноября 2019

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