什么';使用select\u related/prefetch\u related优化Django代码的正确方法是什么?

什么';使用select\u related/prefetch\u related优化Django代码的正确方法是什么?,django,django-select-related,Django,Django Select Related,我有一个简单的情况,有两个模型和一个外键: class Image(models.Model): # Stuff here def iotd_date(self): iotd = self.image_of_the_day.all() if iotd: return iotd[0].date return None class ImageOfTheDay(models.Model): date = models

我有一个简单的情况,有两个模型和一个外键:

class Image(models.Model):
   # Stuff here

   def iotd_date(self):
       iotd = self.image_of_the_day.all()
       if iotd: 
          return iotd[0].date
       return None

class ImageOfTheDay(models.Model):
   date = models.DateField()
   image = models.ForeignKey(Image, related_name = 'iotd')
每当我在模板中执行
{{some_image.iotd_date}}
时,它就会命中数据库


我如何预取这些信息?我试过
。选择相关的('iotd')
(相关的
名称
)但不起作用。

我发现:
预回迁相关的
确实起到了作用