Framework
2 posts
Django(장고) ORM 정리 - 데이터를 조작하는 방법

Operation 처음 언급한 것 처럼 ORM의 함수를 통해서 어떻게 데이터들을 조작할 수 있는지 살펴보겠습니다. Django CookBook 여기서 기본적인 CRUD 문법을 확인하실 수 있습니다. Select 특별한 설명없이 자주 쓰이는 함수들을 소개드리고, 주의할 점 몇가지를 말씀드리겠습니다. 먼저 객체를 통해 데이터를 가져오는 연산들 입니다. 여기서 기본적으로 전체를 가져오거나, filter 함수를 통해 Where Caluse를 사용해 조건을 걸어줄 수 있습니다. 중요한 점은 위 두 연산 모두 실제 객체를 가져오는 것이 아닌, 만을 반환하기 때문에 위 변수로는 접근이 바로 안됩니다. 따라서 실제 객체에 접근하기 위해서는 이런식으로 하게 되면 실제 객체에 접근할 수 있게 됩니다. first는 쿼리셋 내에서 가장 첫번째의 값을 참조하는 함수입니다. 제가 이렇게 쿼리셋 / 실제 객체 접근을 구분한 이유는, DB 접근 횟수를 줄임으로써 성능에 이점을 줄 수 있기 때문입니다. 예를 들…

August 10, 2021
Framework
Django(장고) ORM 정리 - Model의 정의

ORM(Object Relational Mapping) 먼저 이 뭘까요? 이름에서 알 수 있듯 간단히 말하면 와, 를 시켜주는 역할을 하는 녀석입니다. <- 매핑(ORM) -> 로직을 구성하면서 CRUD를 위해 SQL을 작성할 필요 없이, 객체를 정의하고 ORM이 제공하는 Method를 사용하여 데이터베이스에 적재된 데이터를 쉽게 접근할 수 있도록 하는 것입니다. 이 과정에서 자동으로 SQL을 생성하면서 매핑이 되는 것 입니다! (편하죠?) 텍스트로만 보셨을 땐 이해가 잘 안되실 수도 있는데요, 코드를 보면 쉽게 이해하실 수 있으실 겁니다. 만약 ORM이 없으면 DB에 접근하는 비즈니스 로직마다 SQL을 작성해서 접근해야 하고, 이렇게 되면 비즈니스 로직이 너무 복잡해지고 간결성이 줄어듭니다. 또 팀 내에서 코드를 서로 이해하는데에도 큰 리소스가 듭니다. 저도 회사에서 Django 기반으로 서버가 구성되어 있어 ORM을 사용해 백엔드 로직을 작성하고 있는데, 너무 편합니다. …

July 10, 2021
Framework