Computer Programming/AI

TIL_Django Project에서 ORM(Object Relational Mapping)

JYCoder 2023. 9. 5. 20:12

Django에서 새로운 app을 생성하면 자동으로 models.py 파일이 생성된다.

 

settings.py에서 app을 등록해 주고, models.py에서 class를 작성하여 object를 정의하고 나면, Django에서 제공하는 ORM Method를 사용하여 DB에 저장하고 데이터에 쉽게 접근 할 수가 있다. 

 

이때, ORM이 없었다면 DB에 접근할 때 SQL을 작성해야 하기 때문에 좀 복잡해 진다.

 

여기서 ORM이 무엇인지 좀 더 조사해 보았다.

 

ORM(Object Relational Mapping)은 Object(객체)와 Relational Database(관계형 데이터베이스)를 Mapping(이어주는) 해주는 technique이다. 생성된 object의 attributes를 field로 하여 자동으로 entity를 생성한 다음 data의 CRUD(Create-Read-Update-Delete)을 SQL 없이 가능하게 해준다.

 

장점

SQL 없이 CRUD를 사용할 수 있기 때문에 쉽고 빠른 개발이 가능하다.

 

단점

ORM이 제공하는 feature이 많지는 않아서 복잡한 프로그램을 개발할 경우에는 ORM 만으로 서비스를 구축하는 것이 어려울 수 있다.

 

LIST