반응형
https://docs.djangoproject.com/en/3.2/topics/db/models/#executing-custom-sql
한국어로 옮기기 어색한 단어들은 영문으로 혹은 해석이 애매한 구절은 직역한 그대로 사용 하였습니다.
Executing custom SQL
또다른 흔한 패턴은 커스텀 SQL 문을 모델 메소드과 모듈레벨 메쏘드에 에 작성하는 것이다. 더 자세한 raw SQL을 사용하는 방법은 아래 문서를 참고하자.
내 마음대로 해설
- 위 문서에서는 흔한 패턴의 하나로 커스텀 SQL문을 쓰는 것을 말하고 있지만, 사실 개인적인 의견으로 django에서 ORM으로 표현 가능한 것은 무조건 ORM을 최대한 활용하는 편이 좋다고 생각한다.
- 만약에 ORM으로 표현이 불가능하기 때문에 SQL로 꼭 표현해야하는 일이 있다면, 혹시나 내가 ORM에 익숙치 못해서 작성하지 못하는 것은 아닌지, 혹은 모델 구조가 적절하게 설계되어있지 못한건 아닌지에 대해서 고민해볼 필요가 있을 것 같다.
- 개인적인 경험에서 ORM을 못쓰고, 꼭 SQL을 써야하는 경우는 없었다
- SQL을 쓰게되면 ORM에 비해서 확장성과 재활용성, 가독성에서 떨어진다고 개인적으로 생각한다.
- 대신에 ORM으로 내가 원하는 쿼리의 모양이 나오지 않을때,(이런 적을 경험해본적이 나는 없다) 어쩔 수 없이 SQL을 필요할 수도 있는데 이때 위 링크가 필요할 것 같다.
반응형
'개발 > 장고' 카테고리의 다른 글
[해설과 함께 읽는 Django 문서] 미리 정의된 모델 메소드 재정의 하기 (0) | 2021.04.24 |
---|---|
[해설과 함께 읽는 DRF 문서] Validation - Raising an exception on invalid data (0) | 2021.04.24 |
[해설과 함께 읽는 DRF 문서] Validation (0) | 2021.04.24 |
[해설과 함께 읽는 Django 문서] Model methods (0) | 2021.04.04 |
[해설과 함께 읽는 Django 문서] Models - Meta Options, Model 속성들 (0) | 2021.02.02 |