[Django]Query_Params

Hyeo_Ni__·2024년 1월 16일
0

Django

목록 보기
8/12
post-thumbnail

📝 query parameter란?

URL의 쿼리 매개변수에 대한 접근을 제공한다.




📚 query_params

전통적인 Django는 request.GET을 사용하여 쿼리 매개변수에 접근한다.
하지만 DRF에서는 request.query_params를 권장한다.

이를 통해 내가 원하는 데이터만 검색을 할 수 있다.
우선 코드를 작성하기 이전 어떤 데이터가 있는지 확인을 해야한다.

📢 Postman 실행창


기존 테이블에 임의로 데이터를 추가하였다.

✍ 코드

@api_view(['GET', 'POST', 'PUT', 'DELETE'])
def TestAPI(request, id=None):
    queryset = Testapi.objects.all()
    if request.method == 'GET':
        title = request.query_params.get('title')
        if title:
            queryset = queryset.filter(title__contains=title)
        serializer = TestAPISerializer(queryset, many=True)
        return Response(serializer.data)

✍ status 상태 코드

코드설명
request.query_params.get('title')요청의 쿼리 매개변수에서 'title' 매개변수를 가져온다.
title__contains=titleDjango의 ORM에서 사용되는 검색 필드 조회 연산자로 특정 문자열이 포함된 레코드를 검색
queryset.filter()매개변수 값을 포함하는 레코드로 QuerySet을 필터링

URL입력시 ?title=안녕이라고 입력 후 조회시 title에 '안녕'이라는 글자가 들어가는 모든 데이터를 조회할 수 있다.

profile
개발자로 성장 중 입니다.

0개의 댓글