amplitude.init("2e2e5a386856efdf3237cf254a9d14d9"

[챗GPT로 코딩 공부] Django ORM으로 데이터베이스 쿼리 작성하기

내일배움캠프 수료생들은 챗GPT를 어떻게 개발 공부에 활용할까요?
Jun 20, 2024
[챗GPT로 코딩 공부] Django ORM으로 데이터베이스 쿼리 작성하기
✍🏼
챗GPT, 개발 공부에 있어서 든든한 친구 같은 존재이죠. 내일배움캠프의 수강생들도 혼자 공부할 때에는 챗GPT의 도움을 받고 있는데요. 오늘은 내일배움캠프 수료생들의 챗GPT 경험담을 보고, 여러분의 개발 공부에 적용해봅시다.
 

데이터 필터링 및 정렬

파이썬을 이용한 웹 개발 프로젝트에서 Django ORM을 사용해 데이터베이스 쿼리를 작성하는 방법을 배우고 있었습니다. 특정 조건에 맞는 데이터를 효율적으로 가져오는 것이 중요하다는 것을 깨닫고, 이와 관련된 다양한 쿼리문을 작성하는 방법을 이해하고 싶었습니다. 특히, 특정 조건을 제외하고 정렬된 데이터를 가져오고, 특정 조건에 맞는 데이터를 필터링하는 방법을 배우고 싶었습니다.
먼저, Django ORM을 사용해 특정 조건에 맞는 데이터를 정렬하여 가져오는 방법에 대해 물었습니다.
 
질문. “아래 코드에서 order_by 대신 사용할 수 있는 방법이 있어? 추가로, id=10 이하인 데이터만 가져오고 싶어.”
stories = Story.objects.exclude(hate_count__gt=5).order_by('-created_at')
답변.
stories = Story.objects.exclude(hate_count__gt=5, id__gt=10)
 

다양한 조건 결합

그러나 이 답변은 데이터를 정렬하지 않는다는 것을 알았습니다. 정렬된 데이터를 가져오기 위해서는 order_by를 계속 사용해야 했습니다.
 
질문. “hate_count가 5보다 크지 않고 author_id가 5인 데이터만 가져오는 방법을 알려줘” 답변.
stories = Story.objects.filter(hate_count__lte=5, author_id=5)
필터링을 사용하여 특정 조건에 맞는 데이터를 가져오는 방법을 알게 되었습니다. 이 과정에서 filter 메서드의 유용성을 배웠습니다. 이전에는 주로 get 메서드를 사용했지만, filter가 훨씬 더 많이 쓰이고 유용하다는 것을 깨달았습니다.
 

데이터 슬라이싱

마지막으로, 위에서 작성한 쿼리를 기반으로 like_count가 많은 순서대로 상위 5개의 데이터를 가져오고 싶다고 질문했습니다.
 
질문. 아래 코드에서 like_count가 많은 순서대로 5개만 받아오려면 어떻게 해?
stories = Story.objects.exclude(hate_count__gt=5).order_by('-like_count', '-created_at')
 
답변. 슬라이싱을 사용하면 된다고 했습니다. 결과적으로 아래와 같은 코드를 완성했습니다.
stories = Story.objects.exclude(hate_count__gt=5).order_by('-like_count', '-created_at')[:5]
이를 통해 슬라이싱을 이용해 원하는 개수만큼 데이터를 가져오는 방법을 알게 되었습니다.
 
 
다시 질문을 한다면, 쿼리문 작성 시 다양한 조건을 결합하여 데이터를 효율적으로 가져오는 방법을 구체적으로 묻는 것이 좋을 것 같습니다.
예를 들어 “어떻게 여러 조건을 결합하여 데이터를 필터링할 수 있나요?”, “`hate_count`가 5 이하이고 `author_id`가 5인 데이터를 가져오려면 어떻게 해야 하나요?" 와 같이 구체적이고 명확한 질문을 통해 챗GPT로부터 더욱 유용하고 정확한 답변을 얻을 수 있을 것입니다. 코딩 문제를 해결할 때, 다양한 조건을 결합하고 데이터를 효율적으로 가져오는 방법을 이해하는 것이 매우 중요하며, 이를 통해 프로젝트의 효율성을 높일 수 있습니다.
 
 

내일배움캠프가 여러분의 러닝메이트가 되어드리겠습니다

내일배움캠프의 많은 수강생들이 부트캠프 생활을 수료하고 현업에서 개발자로 활약하고 있습니다. 내일배움캠프는 모든 운영진이 교육, 특강, 12시간 밀착 케어, 찐한 관리, 인재 채용까지 열과 성을 다해 수강생들의 꿈을 지원하고 있습니다. 수많은 장애물을 넘을 수 있도록 내일배움캠프가 든든한 러닝메이트가 되어드리겠습니다. 내일배움캠프과 함께 여러분의 개발자 여정을 시작하세요.
 
 
CREDIT
글 | 이기호 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
 
 

취업 준비, 어디서부터 시작해야 할지 모르겠다면?

 
🧐비전공자인데 IT 업계 취업할 수 있을까?
😟프로젝트 경험이 부족한데, 어떻게 준비해야 할까?
🥺IT 기업으로 이직하고 싶은데 뭐부터 시작해야 할까?
 
이런 고민을 하고 있다면, 내일배움캠프의 IT 취업 컨설팅을 받아보세요.
취업 코칭 전문가들이 여러분의 고민을 해결해 드립니다.
 
다음 링크에 이메일을 입력하시면 메일로 1:1 커리어 상담권과 취준 자료집을 보내드릴게요.
 
Share article
Subscribe to our newsletter
RSSPowered by inblog