社内でDjangoプロジェクト増えてきて、イケてないクエリも増えてきそうなので簡単にメモを残す。 ORMを使って何も考えずにforeign keyの逆参照を取ってきたりMany-to-Manyの参照先を取得する際に、ループの度にクエリを飛ばして悲惨なことになるので、prefetch_relatedを使っとけという話 普通のForeign Keyならselect_relatedで必要な階層分引っ張ることが出来る。 普通に使う とりあえずこんなモデル from django.db import models class Campaign(models.Model): name = models.CharField(max_length=255) created_at = models.DateTimeField() class Creative(models.Model): name = mo