Django(장고) ORM 정리

김현태
3 min readMay 19, 2020

--

장고 ORM을 정리해보고자 합니다.

처음 배울때 ORM의 개념조차 모른 상태에서 시작할 때 접고 싶었으나 다른 사람들은 그러질 않길 바라며, 내용을 정리하여 공유 드리고자 합니다.

그럼 장고 ORM을 시작 하도록 겠습니다.

ORM이란, 객채(Object)의 관계(Relational)를 연결(Mapper)해주는 것을 뜻한다. 객체 지향적인 방법을 사용하여 데이터베이스의 데이터를 쉽게 조작할 수 있게 해주는 것이다.

즉, Django의 ORM이란, 파이썬과 데이터베이스의 SQL사이의 통역사 역할을 해준다.

앞으로 아래의 Function을 활용하여 ORM을 완성해 갈 것입니다.

원하는 query를 만들기 위해서는 함수들을 사용해야 합니다.

지금부터 같이 하나씩 공부해보도록 합시다.

(표) ORM Function

조건 키워드

① model.objects.filter(name__contains=’Welcom’)

② model.objects.filter(name__icontains=’Welcom’)

: ① 문자 검색 할 수 있음 / ② 대소문자를 구분 하지 않음

ORM을 활용한 데이터 전체 불러오기

ORM을 활용한 데이터 필터

Get과 Filter 차이

  • Get : 한개의 데이터를 추출 할때 사용
  • Filter : 여러 개의 데이터를 추출 할때 사용
키워드 조건표

ORM을 활용한 데이터 — 정렬하기

  • [SQL 문법]

SELECT * FROM TABLE1 ORDER BY(create_date)

  • [ORM 문법]

Model.objects.all().order_by(‘created_date’)

ORM을 활용한 데이터 — 평균, 최소, 최대, 합계

  • View 테이블에 아래와 같이 import Code를 넣어 주지 않으면 에러가 발생할테니 꼭 넣어 주길 바랍니다.
from django.db.models import Avg, Max, Min, Sum

--

--