Сессия истекает, даже если expire_on_commit = False, когда я использую pyramid_tm - PullRequest
0 голосов
/ 30 августа 2011

Так же, как сказал заголовок.Все, что я хочу сделать, это получить идентификатор возврата (автоматически сгенерировать первичный ключ) из сеанса после session.add.Если я фиксирую транзакцию вручную без использования pyramid_tm, то все в порядке, но когда я начинаю использовать pyramid_tm, она игнорирует expire_on_commit.Есть предложения?

1 Ответ

2 голосов
/ 30 августа 2011

Он не игнорирует expire_on_commit, просто транзакция не фиксируется до тех пор, пока ваш код не будет запущен, поэтому вам нужно очистить и обновить.Вот как я это делаю:

thing = Thing()
Session.add(thing)
Session.flush()
Session.refresh(thing)
print thing.id
...