Django on_删除=模型.保护工作不正常

2024-10-01 09:40:01 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,朋友们,我需要帮助

我是python和Django的新手

这一次我正在构建我的应用程序,我试图使用on_delete=models.PROTECT它可以正常工作,但是我想用任何消息替换我的模板ProtectedError。在

我怎么能做到呢?在

我有这样的东西:

^{1}$

正如你所看到的,这是一个依赖关系,如果我创建了一个puerto,它不会让我删除puerto这很好,这是有效的,但我得到了模板错误,我想要一个消息,而不是那样。在

以下是我的puerto删除视图:

波多黎各视图.py

^{pr2}$

例如,我想要messages.warning(request, 'You can't delete this because it's being used by grupos')

模板错误:

ProtectedError at /delete/59/ ("Cannot delete some instances of model 'puerto' because they are referenced through a protected foreign key: 'grupos.nombre_puerto'", ]>)

我在想办法解决这个问题,但是没有线索。。。在

我该怎么做?在

谢谢。。。!在


Tags: django视图模板应用程序消息onmodels错误
1条回答
网友
1楼 · 发布于 2024-10-01 09:40:01

对于异常问题,请使用try/except。在

from django.db.models import ProtectedError

def delete(request, id):

    try :
        note = get_object_or_404(puerto, pk=id).delete()
        messages.error(request, 'This puerto has been deleted.')

    except ProtectedError:
        messages.warning(request, "You can't delete this because it's being used by grupos")

    return redirect('/puertot')

相关问题 更多 >