【发布时间】:2021-04-23 15:57:07
【问题描述】:
如何获取最后插入的 id?
请注意sqlalchemy 版本,所以this 的问题不是我的问题。
我试过了:
async def foo(db_session: AsyncSession, login):
r1 = await db_session.execute(statement=models_users.insert().values(login=login))
r2 = await db_session.flush()
# r3 = await db_session.fetchval(...) # Error, no such method for async
r4 = await db_session.commit()
print(r2, r4, r1.fechone()) # None, None, None
print(r1.lastrowid) # 'AsyncAdapt_asyncpg_cursor' object has no attribute 'lastrowid'
SQLAlchemy 1.4.4
asyncpg 0.22.0
【问题讨论】:
-
您对缺少的 fetchval 方法有疑问吗?我认为在任何 sqlalchemy 版本中都不是这样。
标签: python sqlalchemy asyncpg