숨밈
들숨에 건강을 날숨에 재력을
숨밈
전체 방문자
오늘
어제
  • 분류 전체보기 (55)
    • 💻 프로젝트 (8)
      • 🍝 홍잇 (5)
      • 🏕 캠퍼 (3)
    • 👩‍💻 개발 (30)
      • ⚙️ BACKEND (16)
      • 🖥 FRONTEND (3)
      • 📡 DEVOPS (7)
      • 💡SOFTWARE (4)
    • 📑 개발 이론 (13)
      • 🚎 JAVA (1)
      • 🌱 SPRING (12)
    • 📚 CS (2)
      • 🔎 Infra (2)
    • 📔 회고 (2)

블로그 메뉴

  • 홈
  • 태그
  • 글쓰기

인기 글

태그

  • django-rest-auth
  • 스프링부트
  • querydsl
  • django-rest-auth_custom
  • notion
  • 타임리프
  • jsp
  • Django
  • static final
  • 자바스크립트
  • 프리코스
  • django-auth
  • Tistory
  • 스프링
  • springboot

티스토리

hELLO · Designed By 정상우.
숨밈

들숨에 건강을 날숨에 재력을

[Django] DRF Method Override 방법
👩‍💻 개발/⚙️ BACKEND

[Django] DRF Method Override 방법

2022. 10. 8. 13:35

세부적인 컨트롤을 위해서는 Override 하여 나에 맞게 수정해주는 작업이 필요하다.

필자는 ModelViewSet을 사용했기 때문에 이를 예시로 들어보고자 한다!

 

* ModelViewSet 은 GET, POST가 아닌 아래와 같은 action을 제공함

  .list() = GET , all

  .retrieve() = POST

  .create() =  GET , one

  .update() = PUT

  .partial_update()  = PUT

  .destroy() =DELETE

 

기본 ModelViewSet은 아래와 같다.

class UserViewSet(viewsets.ModelViewSet):
    serializer_class = UserSerializer
    queryset = User.objects.all()

 

위의 action 중 destory()를 오버라이드 하여 DELETE 요청을 soft delete로 변경해주고자 한다.

    def destroy(self, request, *args, **kwargs):
        user = self.get_object()
        user.is_active = False
        user.save()
        return Response(data='delete user success')

is_active를 False로 변경해주면서 단순 처리해준다.

 

인자는 이렇게 주어진대로 작성 후 코드를 내가 원하는 대로 작성해주면 된다.

 

이와 같은 내용은 class_ModelViewSet 에서 확인할 수 있다.

 

저작자표시 (새창열림)

'👩‍💻 개발 > ⚙️ BACKEND' 카테고리의 다른 글

[Django] dj-rest-auth Custom  (0) 2022.12.22
[Django] DRF JWT 회원가입, 로그인 기능/ dj-rest-auth  (0) 2022.12.22
[Django] ViewSet , Router  (4) 2022.10.08
[Django] admin 계정 생성  (0) 2022.10.08
[Django] related_name 설정  (0) 2022.10.07
    '👩‍💻 개발/⚙️ BACKEND' 카테고리의 다른 글
    • [Django] dj-rest-auth Custom
    • [Django] DRF JWT 회원가입, 로그인 기능/ dj-rest-auth
    • [Django] ViewSet , Router
    • [Django] admin 계정 생성
    숨밈
    숨밈
    기술블로그

    티스토리툴바