Selected_related vs Prefetch_related

Woo Hwukjun·2020년 12월 29일
0
  • "follows" foreign-key relationships and one to one relationships, selecting additional related-object data when it executes its query
  • SQL로 풀어보면 Inner Join을 하여 관련 개체의 필드를 Select 문에 포함시켜서 관련 개체를 얻는다.
  • SQL join get result backk as part of the table from SQL server
  • SQL의 JOIN을 사용하는 특성상 foreign-key , one-to-one 와 같은 single-valued relationships에서만 사용이 가능하다는 한계가 있다.

Bad Example & Result

Good Example & Result

  • does a seperate lookup for each realationship and does the "joining" in python (many to many)
  • executes another query and reduce redundant columns create and send a list of id's to select back to the service
  • 모델별 쿼리를 실행해 쿼리셋을 가져온다.
  • foreign-key , one-to-one 뿐만 아니라 many-to-many , many-to-one 등 모든 relationships에서 사용 가능하다.

정참조 Good Example and result

역참조 Good Example and result

병민님 example:
-https://github.com/wecode-bootcamp-korea/queryset-api/tree/main/books

reference :

profile
미래 개발자

0개의 댓글