我有一个包含不同模型的外键的模型:
class MyModel(models.Model):
...
picture = models.ForeignKey(Picture)
...
我是我的模板,我有一个MyModel实例,我在三个不同的地方以这种方式{{ mymodel.picture }}
访问它的图片属性。
当我打开debug_toolbar时,我看到对数据库进行了三次不同的SQL查询。 Django不应该缓存第一个查询并在之后提供它吗?是否可以这样做?
答案 0 :(得分:2)
{% with picture = mymodel.picture %}
My Picture Size Large {{ picture }}
My Picture Size Medium {{ picture }}
My Picture Size Small {{ picture }}
{% endwith %}
答案 1 :(得分:1)
您可以尝试使用带标记{% with p = mymodel.picture %}...{% endwith %}
,请参阅此处:https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#with