该函数应删除带有 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)
老实说,我想不出有什么问题。
我认为执行删除后您只是缺少提交。
试试这个:
await session.execute(delete_query)
await session.commit()