-
[Django] 내가 작성한 글만 Filtering공부/Django 2020. 8. 5. 21:47
기존 views.py
from rest_framework import viewsets from .models import Essay from .serializers import EssaySerializer class PostViewSet(viewsets.ModelViewSet): queryset = Essay.objects.all() serializer_class = EssaySerializer def perform_create(self, serializer): serializer.save(author=self.request.user)
현재 로그인하면 모든 essay 모델이 보여집니다.
get_queryset을 오버라이딩
rest_framework의 generics.py 내부코드를 살펴봅시다!
def get_queryset(self): assert self.queryset is not None, ( "'%s' should either include a `queryset` attribute, " "or override the `get_queryset()` method." % self.__class__.__name__ ) queryset = self.queryset if isinstance(queryset, QuerySet): # Ensure queryset is re-evaluated on each request. queryset = queryset.all() return queryset
queryset = queryset.all()
기존 설정은 모든 쿼리셋을 가져오도록 되어있습니다.
이 부분을 오버라이딩해서 filtering을 구현하겠습니다.내가 작성한 글만 보이는 필터링을 구현한 views.py
'공부 > Django' 카테고리의 다른 글
자주 사용되는! HTTP 상태 코드 (0) 2020.11.13 [Django] 작성한 글의 Search 기능 구현 (0) 2020.08.05 [Django] DRF 시작하기 (0) 2020.08.05 [Django] Json (0) 2020.08.04 [Django] REST framework (0) 2020.08.04