我有一个简单的情况,有两个模型和一个ForeignKey:
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 :(得分:0)
我发现:prefetch_related
实际上是诀窍。