使用 python-asyncio 数据库时如何获取 LAST INSERT ID

How to get the LAST INSERT ID when using python-asyncio databases

我正在尝试使用以下堆栈将对象持久保存在数据库中:Starlette, SQLArchemy and Databases

如何获取最后插入 ID?

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    username = Column(String)
async def create_user(request: Request) -> JSONResponse:
    data = await request.json()
    query = User.__table__.insert().values(name=data["username"])
    await database.execute(query)

    # I need the LAST INSERT ID here

我没想到解决方案会这么简单。我在文档中找不到它。

似乎查询结果将 return LAST INSERT ID 如果有的话:

    last_insert_id = await database.execute(query)