python - 在Django rest框架中删除对象后不显示成功消息
问题描述
我有一个DestroyAPIView,我在其中使用perform_delete函数删除一个实例。但是,我想发送一条状态为 200 的成功消息。我试过了,但是在邮递员中,我对 204 状态感到空白。我怎样才能做到这一点?
我的观点:
class UpdateOrderView(UpdateAPIView,DestroyAPIView):
permission_classes = [AllowAny]
#queryset = Order.objects.prefetch_related('order_items').all()
#value = self.kwargs['pk']
queryset = Order.objects.all()
print(queryset)
serializer_class = OrderUpdateSerializer
def perform_destroy(self, instance):
if instance.delete():
return Response({
"message":"Order deleted successfully"
},
status=status.HTTP_200_OK)
else:
pass
实例已删除,我检查了数据库,但没有收到成功消息。
解决方案
您可以改写destroy
方法。
class UpdateOrderView(UpdateAPIView,DestroyAPIView):
permission_classes = [AllowAny]
queryset = Order.objects.all()
serializer_class = OrderUpdateSerializer
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
self.perform_destroy(instance)
return Response({
"message":"Order deleted successfully"
},
status=status.HTTP_200_OK)
def perform_destroy(self, instance):
instance.delete()
推荐阅读
- python - 使用 pandas 中的类别重新采样,保留非数字列
- drop-down-menu - 在不同的下拉列表中选择选项时,如何取消选择下拉列表的所有选定选项?
- java - IP 作为 Linux 数组元素抛出 UnknownHostException 但作为常量起作用
- ios - IOS 上 Flutter 应用启动期间 OpenGL 渲染崩溃
- python - 如何正确运行查询 Flask-SQLAlchemy 数据库的连续测试?
- c# - 从 .net 核心中的外部应用程序控制通用主机
- javascript - 如何在 Rails 中使用中间件通过 JWT 获取 current_user_id?
- java - 如何在 beanshell 中的 java 中构造 JSON 的多个对象和数组并查看输出
- asp.net - 未保存自定义联系人方面
- php - 从没有页面刷新的操作