get_object_or_404

Ethan·2024년 1월 17일
0

Dear

목록 보기
3/13

1. Post.objects.get(id= post_id)

<Dear> 프로젝트에서 기존에 작성된 뷰는 게시글을 불러올 때 Post 모델에서 idpost_id와 일치하는 게시글을 불러왔다.

그러나 post_id와 일치하는 게시글이 없는 경우 에러 페이지를 렌더했다.

이 경우 유저는 잘못된 접근인지, 서버 오류인지를 구분하기가 어려웠다.

2. get_object_or_404()

따라서 모델의 데이터를 불러오고, 해당 데이터가 없는 경우에는 404 에러를 불러오는 get_object_or_404를 알아본다.

우선 장고 숏컷 모듈에서 해당 함수를 불러온다.


from django.shortcuts import get_object_or_404

이후 기존에 사용했던 Post.objects.get(id = post_id)를 변경한다. 그리고 변수 post에 지정한다.

파라미터에는 참조할 모델 클래스(Post)와 조건(id=post_id)을 인자로 넘겨준다.


post = get_object_or_404(Post, id = post_id)

이 경우 post_id와 일치하는 id를 가진 데이터를 Post 모델에서 찾아보고

해당 데이터가 있다면 변수 post에 지정하지만

해당 데이터가 없다면 404 에러를 불러온다.

profile
글로 쓰면 머리 속에 정리가 되...나?

0개의 댓글

관련 채용 정보