ORM(Object-relatinal mapping) : 객체-관계형 모델 사이에서 적절한 SQL을 자동 생성하여 불일치 해결.
참고
https://stackoverflow.com/questions/18199053/example-of-what-sqlalchemy-can-do-and-django-orm-cannot
https://dzone.com/articles/django-vs-sqlalchemy-which-python-orm-is-better
https://dzone.com/articles/merging-django-orm-with-sqlalchemy-for-easier-data
SIMTIME은 복잡하지 않은 기본적인 CRUD만 필요하다. 따라서 다른 라이브러리를 추가하기 보다는 쓰던대로 django ORM으로 적절한 쿼리를 작성할 수 있도록 빠르게 익히자. raw sql로 훨씬 간단하게 해결할 수 있지만, 그래도 django 시작한 이상 기초적인 것들을 알고 가는게 좋을 것 같다. 심지어 learning curve도 낮다고 한다.(난 왜이렇게 어렵게 느껴지는거징TT)
지금 이 시점에 굳이 SQLAlchemy와 같은 ORM을 추가로 깊이 공부할 필요가 있을까?
없다. ORM은 철저히 개발자의 생산성에 초점을 맞춘 방식인듯하다. 어차피 일정 수준이상 복잡한 로직이나 성능 이슈를 해결하기 위해서는 SQL과 DB 자체로 돌아가게 된다고 한다.
게다가 나는 아직 초급...도 아닌 '백수 개발자 지망생'이니까ㅋㅋ django ORM으로 ORM에 대한 개념 정도로만 익혀두고, 나중에 실무에 투입되면 환경에 따라 필요하면 추가로 배우는 것이 맞다고 생각한다. 그 시간에 sql을 더 공부해서 성능 좋은 SQL을 짤 수 있도록 하자.
Django ORM query 공부하기