prefetch_related

Psj·2020년 12월 3일
0

Python

목록 보기
30/41


변수 = PK클래스.objects.prefetch_related('PK클래스를 FK로 가지고있는 클래스_set')

이렇게 prefetch_related를 사용하면 Airplane클래스와 Product클래스를 join하여 가져올수 있게된다.


Product클래스와 연결됐지만 airplane 객체만 나오는것을 확인할수있다.

이제 Product객체를 가져오게 해보겠다.


for문으로 airplane을 돌리면 아직까지 위와 동일하게 Airplane 객체가 연달아 나오는것을 확인할수 있다.

이하는 위 객체의 실질적 Airplane 데이터베이스


첫번째 for문에서 airplane의 모든 객체가 i에 담겨 하나씩 나온다.
이 i는 Airplane객체들이 담긴다.

products = i.product_set.all()
(i.product_set 할때 Product_set이 아닌 product_set으로 해야함)

**이것은 product변수에 i와 연결된 product전체를 담는다는 뜻이다.
그렇다는것은 Airpane객체 하나하나에 연결된 product객체 전체가 products라는 변수에 담겼다는 말이된다.

그것을 다시 for문으로 돌려서 빼내면 Product의 객체가 나오게된다.**

profile
Software Developer

0개의 댓글