在 FASTAPI 上编写用于删除的异步函数时出错

问题描述 投票:0回答:1

该函数应删除带有 room_id 和 user_id 的项目(预订)。在终端中显示

"DELETE /bookings/10 HTTP/1.1" 200 OK,
,但数据库中没有删除任何内容。 我是这个行业的新人

 @classmethod
    async def remove(cls, user_id: int, room_id: int):
            async with async_session_maker() as session:
                query = select(Rooms).filter_by(id=room_id)
                result = await session.execute(query)
                result = result.scalar_one_or_none()
                if result is None:
                    raise {"message": "Room not found"}

                delete_query = delete(Bookings).filter_by(room_id=room_id, user_id=user_id)
                print(delete_query)
                await session.execute(delete_query)
@router.delete("/{id}")
async def remove_booking(
        id: int,
        user: Users = Depends(get_current_user),
):
    await BookingDAO.remove(user.id, id)

老实说,我想不出有什么问题。

python sqlalchemy fastapi
1个回答
0
投票

我认为执行删除后您只是缺少提交。

试试这个:

await session.execute(delete_query)
await session.commit()
© www.soinside.com 2019 - 2024. All rights reserved.