본문 바로가기

개발/Django Restful Framework(drf)

DRF url parameter filter 추가하기

반응형
특정한 모델의 필드값을 이용해서 api filter를 추가하고 싶다면?
여러가지 방법이 있는 것 같지만, 내가 쓰는 방법으로는

1
2
3
4
5
6
7
8
9
10
11
12
# pip install django-filter 설치 후,
# 더 상세한 내용은 http://www.django-rest-framework.org/api-guide/filtering/#djangofilterbackend
 
 
from rest_framework import status
from rest_framework import filters
 
class FestivalViewSet(viewsets.ModelViewSet):    
    queryset = Festival.objects.order_by('start_date').all()    
    serializer_class = FestivalSerializer    
    filter_backends = (filters.DjangoFilterBackend,)    
    filter_fields = ('id',)
cs


먼저 django-filter 설치 후, 볼드 처리된 부분을 뷰셋에 추가해준다.

그러면 


1
2
http://127.0.0.1:8001/api/v1/festival
http://127.0.0.1:8001/api/v1/festival/?id=3
cs


1번 GET 같은 경우에는 모든 festival을 요청하고, 

2번  GET 같은 경우에는 id=3인 festival을 요청하게 된다.



반응형

'개발 > Django Restful Framework(drf)' 카테고리의 다른 글

DRF Serializer 알아보기  (0) 2016.04.26
DRF Serializer, Foreignkey  (0) 2016.04.26
djoser 패키지 (1)  (0) 2016.04.25
DRF write only field  (0) 2016.04.22
DRF Foreignkey Serializer에서 설정하기  (0) 2016.04.15