[Django] DAY10. Django 배우기: ORM

이하얀·2024년 2월 10일
0

2024년 2월 10일 토요일

📙 강의 내용 요약

  1. Model
    데이터베이스를 제어하고, 관리하기 위한 영역을 말한다.
    models.py에 데이터베이스 테이블을 class로 관리한다.
    각 모델 class 1개 당 1개의 테이블이 서로 매핑된다.
    migration 파일로 데이터베이스 DDL을 제어한다.
    Django라는 식당이 있으면, 재료의 역할을 하는 것을 말한다.

  2. Model - 자주 쓰이는 제약조건

  1. ORM(Object Relation Mapping)
    객체와 데이터베이스의 데이터(테이블)을 상호 연결한다.
    SQL 쿼리를 사용하지 않고 코드로 데이터를 조작한다.
    생산성과 가독성이 좋아진다. → 반면에 ORM에 대해 따로 공부가 필요하다.
    Django라는 식당이 있으면, 요리 도구의 역할을 한다.

post 테이블의 레코드를 id 오름차순으로 25개를 가져올 경우

  • SQL
SELECT * FROM "post"
ORDER BY id ASC
LIMIT 25
  • ORM
Post.objects.all().order_by('id')[0:25]

post 테이블에 레코드 삽입

  • SQL
INSERT INTO "post"
(title, content)
VALUES
("안녕","내용입니다.")
  • ORM
Post(
	title="안녕",
	content="내용입니다"
).save()

♻️ 느낀점&인사이트

Django의 Model과 ORM을 통해 기존의 데이터베이스 형식과 비슷하면서도 대체하는 방법에 대해서 학습했다.
SQL의 경우에는 Insert into와 같이 모든 명령을 함께 앞에 입력해서 적용해야만 하지만, ORM의 경우에는 어떤 테이블에 넣을 것인지를 입력하고 save와 함께 적용하면 된다는 큰 차이점이 있었다.
앞으로 Django를 잘 활용하기 위해 ORM에 대한 추가적인 공부가 더 필요해보인다.

profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE 개발 기록 노트☘️

0개의 댓글