django select_related 在模板渲染中起作用?

Posted

技术标签:

【中文标题】django select_related 在模板渲染中起作用?【英文标题】:django select_related works in template rendering? 【发布时间】:2016-07-02 20:48:51 【问题描述】:

我想知道。如果我在视图上使用select_related,如果我在模板上使用对象,它会保存数据库命中吗?

让我们说:

views.py

one_thing = things.objects.filter(...).select_related("another_thing")

模板.html

<p> one_thing.another_thing </p>

关于select_related 的文档写道:

返回一个“遵循”外键关系的查询集, 在执行查询时选择其他相关对象数据。 这是一个性能提升器,它导致单个更复杂 查询,但意味着以后不需要使用外键关系 数据库查询。

【问题讨论】:

【参考方案1】:

django的模板代码在后台执行,页面加载完成后在模板中渲染数据,所以不管是在views.py还是模板中使用都没有区别。

【讨论】:

以上是关于django select_related 在模板渲染中起作用?的主要内容,如果未能解决你的问题,请参考以下文章

Django ORM select_related 渲染模板

Django select_related 查询不会将所有值返回到模板

django: select_related() 在一个已经存在的对象上?

Django 管理员内联:select_related

如何强制 Django Admin 使用 select_related?

pythonのdjango select_related 和 prefetch_related()