Skip to main content
 首页 » 编程设计

python之在外键上缓存 Django SQL 查询

2024年08月30日28daizhj

我有一个模型,其中包含一个不同模型的外键:

class MyModel(models.Model): 
   ... 
   picture = models.ForeignKey(Picture) 
   ... 

在我的模板中,我有一个 MyModel 实例,在三个不同的地方,我以这种方式访问​​它的图片属性 {{ mymodel.picture }}。

当我打开 debug_toolbar 时,我看到对数据库进行了三个不同的 SQL 查询。 Django 不应该缓存第一个查询并在之后提供吗?有可能吗?

请您参考如下方法:

{% with picture = mymodel.picture %} 
 
My Picture Size Large {{ picture }} 
My Picture Size Medium {{ picture }} 
My Picture Size Small  {{ picture }} 
 
{% endwith %}