본문 바로가기

개발/장고

[해설과 함께 읽는 Django 문서] 커스텀 SQL 실행하기

반응형

https://docs.djangoproject.com/en/3.2/topics/db/models/#executing-custom-sql

한국어로 옮기기 어색한 단어들은 영문으로 혹은 해석이 애매한 구절은 직역한 그대로 사용 하였습니다.

Executing custom SQL

또다른 흔한 패턴은 커스텀 SQL 문을 모델 메소드과 모듈레벨 메쏘드에 에 작성하는 것이다. 더 자세한 raw SQL을 사용하는 방법은 아래 문서를 참고하자.

using raw SQL

 

Performing raw SQL queries | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

내 마음대로 해설

  1. 위 문서에서는 흔한 패턴의 하나로 커스텀 SQL문을 쓰는 것을 말하고 있지만, 사실 개인적인 의견으로 django에서 ORM으로 표현 가능한 것은 무조건 ORM을 최대한 활용하는 편이 좋다고 생각한다.
  2. 만약에 ORM으로 표현이 불가능하기 때문에 SQL로 꼭 표현해야하는 일이 있다면, 혹시나 내가 ORM에 익숙치 못해서 작성하지 못하는 것은 아닌지, 혹은 모델 구조가 적절하게 설계되어있지 못한건 아닌지에 대해서 고민해볼 필요가 있을 것 같다.
  3. 개인적인 경험에서 ORM을 못쓰고, 꼭 SQL을 써야하는 경우는 없었다
  4. SQL을 쓰게되면 ORM에 비해서 확장성과 재활용성, 가독성에서 떨어진다고 개인적으로 생각한다.
  5. 대신에 ORM으로 내가 원하는 쿼리의 모양이 나오지 않을때,(이런 적을 경험해본적이 나는 없다) 어쩔 수 없이 SQL을 필요할 수도 있는데 이때 위 링크가 필요할 것 같다.
반응형