[django] ORM이란 무엇일까?

dhleeone·2021년 12월 21일
0

ORM(Object Relational Mapping)

  • 객체와 관계형 데이터 베이스의 데이터를 자동으로 매핑해주는 것

    • 객체 지향 프로그래밍은 클래스를 사용, 관계형 데이터 베이스는 테이블을 사용함(불일치)

    • ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동 생성하여 불일치 해결

    • ORM을 이용하면 SQL 쿼리가 아닌 클래스 메서드를 통해 데이터 베이스를 조작할 수 있어, 개발자가 객체 모델을 이용해서 프로그래밍을 하는 데 집중할 수 있게 함

  • django에서의 ORM

    • django는 DB에서 데이터를 저장하거나 불러올 때 모델을 사용하며 모델은 클래스로 만든다.

    • 모델 클래스를 만들 때 models.Model을 상속 받는데, 이 부모 클래스는 ORM이 동작하도록 함


> 모델 클래스 예시(models.py)

from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
profile
하루하루 쌓아가는 개발 지식📦

0개의 댓글