python教程—在Django的自定义管理器中捕捉没有texist异常-Python实用宝典

python教程—在Django的自定义管理器中捕捉没有texist异常

我有一个Django模型的自定义管理器。这里我似乎无法捕捉到DoesNotExist异常。我知道如何在模型里面做,但在这里行不通:

我有一个Django模型的自定义管理器。这里我似乎无法捕捉到DoesNotExist异常。我知道如何在模型里面做,但在这里行不通:

    class TaskManager(models.Manager): def task_depend_tree(self, *args, **kwargs): if "id" in kwargs: try: task = self.get(id=kwargs["id"]) except DoesNotExist: raise Http404

Get_object_or_404也不能工作。
这里出了什么问题?

回答

尝试使用ObjectDoesNotExist而不是DoesNotExist,或者可能使用self.DoesNotExist。如果其他方法都失败了,那么尝试捕获一个普通异常并对其进行评估,看看它是type()。

Django.core。异常进口ObjectDoesNotExist

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
1

发表评论