gpt4 book ai didi

django - 使用 Django 引发默认错误 on_delete PROTECT

转载 作者:行者123 更新时间:2023-12-03 07:46:44 25 4
gpt4 key购买 nike

我定义了一个 on_delete我的模型中的约束如下:

cliente = models.ForeignKey(Cliente,related_name="cliente",on_delete=models.PROTECT)

当我删除与客户相关的订单时,它会引发错误,但只会引发 500 错误:

"Cannot delete some instances of model 'Cliente' because they are referenced through a protected foreign key: 'Pedido.cliente'"



和一个完整的公共(public)信息,如果我可以在发生这种情况时设置自定义消息错误,我想要什么,有人知道该怎么做吗?

最佳答案

最后我这样做了,注意我使用的是 DeleteView为此:

def delete(self, request, *args, **kwargs):
self.object = self.get_object()
try:
self.object.delete()
data = {'success':'ok'}
except ProtectedError:
data = {'success':'violation_protected'}
return HttpResponse(json.dumps(data),mimetype="application/json")

只需导入 from django.db.models.deletion import ProtectedError让魔法发生。

关于django - 使用 Django 引发默认错误 on_delete PROTECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18022372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com