我有一个Django模型的自定义管理器。我似乎无法在此处捕获DidNotExist异常。我知道如何在模型中执行此操作,但在这里不起作用:

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。如果其他所有方法均失败,则只需 try catch 原始的Exception并对其进行评估,以查看其为type()。
from django.core.exceptions import ObjectDoesNotExist

关于python - 在Django的自定义管理器中捕获DidsNotExist异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14255125/

10-10 21:51