我希望在使用SQLAlchemy插入postgresql后获取最后插入记录的ID。这是代码,
insert_record = {list of data}
result = connection.execute(tbl_example.insert().returning(tbl_example.c.id), insert_record)
print result.id
插入很好,但我似乎无法获取最后插入的ID,我收到以下错误,
AttributeError:' ResultProxy'对象没有属性' id'
返回对象中的返回ID在哪里?
答案 0 :(得分:-1)
它直接位于返回对象中。有documentation:
的例子stmt = table.update().\
where(table.c.data == 'value').\
values(status='X').\
returning(table.c.server_flag,
table.c.updated_timestamp)
for server_flag, updated_timestamp in connection.execute(stmt):
print(server_flag, updated_timestamp)
此外,ResultProxy
supports通过positon(如示例)和名称访问。因此,您可以使用以下内容:row_id = result['id']
。