prefetch_related
prefetch related
prefetch relatedはoutific-key、one-to-one、multi-to-oneなど、すべての関係で使用できます.
(正参照、逆参照ともに使用可能であり、逆参照の場合のみsetで逆参照を表す.)
例
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=16)
def __str__(self):
return self.name
class Car(models.Model):
name = models.CharField(max_length=32)
owner = models.ForeignKey(Person)
def __str__(self):
return self.name
上図に示すモデルは以下の通りです.例)ID 1のownerの自動車名出力
owner = Person.objects.prefetch_related('car_set').get(id=1)
#역참조라서 set을 붙임. (차가 사람을 정참조),(사람이 차를 역참조)
for car in owner.car_set.all():# id가 1번인 사람의 차를 모두 프린트한다.
print(car.name)
prefetch relatedメソッドは1:Nの関係1(例ではPerson)にとって使いやすい.
Reference
この問題について(prefetch_related), 我々は、より多くの情報をここで見つけました https://velog.io/@dltngks54/prefetchrelatedテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol