본문 바로가기
파이썬

파이썬 Django의 사용자 지정 관리자에서 DoesNotExist 예외 잡기

by º기록 2021. 1. 28.
반응형

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도 작동하지 않습니다. 여기서 무엇이 잘못 되었습니까?

 

해결 방법

 

DoesNotExist 대신 ObjectDoesNotExist 또는 self.DoesNotExist 를 사용해보십시오. 다른 모든 방법이 실패하면 바닐라 Exception 을 잡아서 type ()인지 평가합니다.

django.core.exceptions에서 가져 오기 ObjectDoesNotExist

 

참조 페이지 https://stackoverflow.com/questions/14255125

 

 

반응형

댓글