2013-11-06 3 views
0

У меня есть простая ситуация с двумя моделями и ForeignKey:Каким образом можно оптимизировать этот код Django с помощью select_related/prefetch_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.DateField() 
    image = models.ForeignKey(Image, related_name = 'iotd') 

Всякий раз, когда я {{some_image.iotd_date}} в шаблоне, который попадает в базу данных.

Как я могу предварительно выбрать эту информацию? Я пробовал .select_related('iotd') (related_name), но это не сработало.

ответ

0

Я выяснил: prefetch_related делает трюк, фактически.