You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为现有Django REST API视图添加客户详情删除功能?

Django REST API 添加客户删除功能实现

扩展现有视图支持删除操作

直接在已有的clientDetail视图中添加DELETE请求方法支持,同一个接口即可完成详情查询与删除操作:

from rest_framework import status

@api_view(['GET', 'DELETE'])
def clientDetail(request, pk):
    try:
        details = ClientAPI.objects.get(id=pk)
    except ClientAPI.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)
    
    if request.method == 'GET':
        serializer = ClientSerializer(details, many=False)
        return Response(serializer.data)
    elif request.method == 'DELETE':
        details.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)

独立删除视图实现

如果需要拆分删除逻辑,可单独编写删除视图函数:

from rest_framework import status

@api_view(['DELETE'])
def deleteClientDetail(request, pk):
    try:
        client = ClientAPI.objects.get(id=pk)
    except ClientAPI.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)
    
    client.delete()
    return Response(status=status.HTTP_204_NO_CONTENT)

关键注意点

  • 必须导入rest_framework的status模块,用于返回标准HTTP状态码
  • 处理ClientAPI.DoesNotExist异常,避免因客户不存在抛出服务器错误
  • 若使用独立删除视图,需在urls.py中添加对应路由,示例:
    path('client/<int:pk>/delete/', deleteClientDetail, name='delete-client')
    

内容的提问来源于stack exchange,提问作者AbiribahUllash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:35:49