[2020.07.01] 업무일기: Django ORM 의 Join 방식 강제 수정은 어떻게 하나?
By 양파개발자 SW의 블로그입니다^^ | 2020년 7월 2일 |
업무일기는 그날 일하면서 인상 깊었던 기억들을 두서없이 나열한 것입니다. 1. [Django] ORM join 타입 강제 변경 - prefetch 가 걸려있는 queryset 에 루프를 돌면서 아래처럼 적용해준다. for key, item in queryset.query.alias_map.items(): # BaseTable 혹은 Join 객체가 올 수 있다. # Join 객체의 경우 join_type 에 조인 정보를 가지고 있는데 해당 값을 수정하면 조인을 변경할 수 있다. if isinstance(item, Join) and item.join_type == "INNER JOIN": item.join_type = "STRAIGHT_JOIN" return que