sqlalchemy и последний идентификатор вставки - PullRequest
0 голосов
/ 08 мая 2011
                req = Test()
                setattr(req, 'test', 1);
                session.add(req)
                print req.id

Как получить последний идентификатор для объекта req?

Ответы [ 3 ]

2 голосов
/ 08 мая 2011

Вы должны зафиксировать это первым (после session.add(req)).

0 голосов
/ 10 декабря 2015

flush () достаточно, он выполнит запросы и заполнит авто идентификаторы.

0 голосов
/ 08 мая 2011

Если вы выполняете session.commit () перед заключительным оператором печати, будет установлен атрибут id. Как написано, у движка нет причин выполнять какие-либо SQL-запросы, поэтому объект еще не вставлен. Как только запрос будет запущен (при сбросе сеанса или фиксации), там будет идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...